;--------------------------------------------------------
; File Created by SDCC : FreeWare ANSI-C Compiler
; Version 2.6.0 #4309 (Jul 28 2006)
; This file generated Sun Mar 06 21:11:28 2011
;--------------------------------------------------------
	.module main
	.optsdcc -mmcs51 --model-large
	
;--------------------------------------------------------
; Public variables in this module
;--------------------------------------------------------
	.globl _main
	.globl __sdcc_external_startup
	.globl _TF1
	.globl _TR1
	.globl _TF0
	.globl _TR0
	.globl _IE1
	.globl _IT1
	.globl _IE0
	.globl _IT0
	.globl _SM0
	.globl _SM1
	.globl _SM2
	.globl _REN
	.globl _TB8
	.globl _RB8
	.globl _TI
	.globl _RI
	.globl _CY
	.globl _AC
	.globl _F0
	.globl _RS1
	.globl _RS0
	.globl _OV
	.globl _F1
	.globl _P
	.globl _RD
	.globl _WR
	.globl _T1
	.globl _T0
	.globl _INT1
	.globl _INT0
	.globl _TXD0
	.globl _TXD
	.globl _RXD0
	.globl _RXD
	.globl _P3_7
	.globl _P3_6
	.globl _P3_5
	.globl _P3_4
	.globl _P3_3
	.globl _P3_2
	.globl _P3_1
	.globl _P3_0
	.globl _P2_7
	.globl _P2_6
	.globl _P2_5
	.globl _P2_4
	.globl _P2_3
	.globl _P2_2
	.globl _P2_1
	.globl _P2_0
	.globl _P1_7
	.globl _P1_6
	.globl _P1_5
	.globl _P1_4
	.globl _P1_3
	.globl _P1_2
	.globl _P1_1
	.globl _P1_0
	.globl _P0_7
	.globl _P0_6
	.globl _P0_5
	.globl _P0_4
	.globl _P0_3
	.globl _P0_2
	.globl _P0_1
	.globl _P0_0
	.globl _PS
	.globl _PT1
	.globl _PX1
	.globl _PT0
	.globl _PX0
	.globl _EA
	.globl _ES
	.globl _ET1
	.globl _EX1
	.globl _ET0
	.globl _EX0
	.globl _BREG_F7
	.globl _BREG_F6
	.globl _BREG_F5
	.globl _BREG_F4
	.globl _BREG_F3
	.globl _BREG_F2
	.globl _BREG_F1
	.globl _BREG_F0
	.globl _P5_7
	.globl _P5_6
	.globl _P5_5
	.globl _P5_4
	.globl _P5_3
	.globl _P5_2
	.globl _P5_1
	.globl _P5_0
	.globl _P4_7
	.globl _P4_6
	.globl _P4_5
	.globl _P4_4
	.globl _P4_3
	.globl _P4_2
	.globl _P4_1
	.globl _P4_0
	.globl _PX0L
	.globl _PT0L
	.globl _PX1L
	.globl _PT1L
	.globl _PLS
	.globl _PT2L
	.globl _PPCL
	.globl _EC
	.globl _CCF0
	.globl _CCF1
	.globl _CCF2
	.globl _CCF3
	.globl _CCF4
	.globl _CR
	.globl _CF
	.globl _TF2
	.globl _EXF2
	.globl _RCLK
	.globl _TCLK
	.globl _EXEN2
	.globl _TR2
	.globl _C_T2
	.globl _CP_RL2
	.globl _T2CON_7
	.globl _T2CON_6
	.globl _T2CON_5
	.globl _T2CON_4
	.globl _T2CON_3
	.globl _T2CON_2
	.globl _T2CON_1
	.globl _T2CON_0
	.globl _PT2
	.globl _ET2
	.globl _TMOD
	.globl _TL1
	.globl _TL0
	.globl _TH1
	.globl _TH0
	.globl _TCON
	.globl _SP
	.globl _SCON
	.globl _SBUF0
	.globl _SBUF
	.globl _PSW
	.globl _PCON
	.globl _P3
	.globl _P2
	.globl _P1
	.globl _P0
	.globl _IP
	.globl _IE
	.globl _DP0L
	.globl _DPL
	.globl _DP0H
	.globl _DPH
	.globl _B
	.globl _ACC
	.globl _EECON
	.globl _KBF
	.globl _KBE
	.globl _KBLS
	.globl _BRL
	.globl _BDRCON
	.globl _T2MOD
	.globl _SPDAT
	.globl _SPSTA
	.globl _SPCON
	.globl _SADEN
	.globl _SADDR
	.globl _WDTPRG
	.globl _WDTRST
	.globl _P5
	.globl _P4
	.globl _IPH1
	.globl _IPL1
	.globl _IPH0
	.globl _IPL0
	.globl _IEN1
	.globl _IEN0
	.globl _CMOD
	.globl _CL
	.globl _CH
	.globl _CCON
	.globl _CCAPM4
	.globl _CCAPM3
	.globl _CCAPM2
	.globl _CCAPM1
	.globl _CCAPM0
	.globl _CCAP4L
	.globl _CCAP3L
	.globl _CCAP2L
	.globl _CCAP1L
	.globl _CCAP0L
	.globl _CCAP4H
	.globl _CCAP3H
	.globl _CCAP2H
	.globl _CCAP1H
	.globl _CCAP0H
	.globl _CKCKON1
	.globl _CKCKON0
	.globl _CKRL
	.globl _AUXR1
	.globl _AUXR
	.globl _TH2
	.globl _TL2
	.globl _RCAP2H
	.globl _RCAP2L
	.globl _T2CON
	.globl _bufPtr
	.globl _buffer
	.globl _stats
	.globl _chCount
	.globl _curBuf
	.globl _sizeBuf
	.globl _numBuf
	.globl _dispAll_PARM_2
	.globl _cleanBuf_PARM_2
	.globl _heap
	.globl _putchar
	.globl _getchar
	.globl _putstr
	.globl _getstr
	.globl _serialInit
	.globl _initAll
	.globl _clearScr
	.globl _myDelay
	.globl _cleanBuf
	.globl _initBufs
	.globl _calcStats
	.globl _dispAll
	.globl _processKey
	.globl _processQflag
	.globl _processSflag
;--------------------------------------------------------
; special function registers
;--------------------------------------------------------
	.area RSEG    (DATA)
G$T2CON$0$0 == 0x00c8
_T2CON	=	0x00c8
G$RCAP2L$0$0 == 0x00ca
_RCAP2L	=	0x00ca
G$RCAP2H$0$0 == 0x00cb
_RCAP2H	=	0x00cb
G$TL2$0$0 == 0x00cc
_TL2	=	0x00cc
G$TH2$0$0 == 0x00cd
_TH2	=	0x00cd
G$AUXR$0$0 == 0x008e
_AUXR	=	0x008e
G$AUXR1$0$0 == 0x00a2
_AUXR1	=	0x00a2
G$CKRL$0$0 == 0x0097
_CKRL	=	0x0097
G$CKCKON0$0$0 == 0x008f
_CKCKON0	=	0x008f
G$CKCKON1$0$0 == 0x008f
_CKCKON1	=	0x008f
G$CCAP0H$0$0 == 0x00fa
_CCAP0H	=	0x00fa
G$CCAP1H$0$0 == 0x00fb
_CCAP1H	=	0x00fb
G$CCAP2H$0$0 == 0x00fc
_CCAP2H	=	0x00fc
G$CCAP3H$0$0 == 0x00fd
_CCAP3H	=	0x00fd
G$CCAP4H$0$0 == 0x00fe
_CCAP4H	=	0x00fe
G$CCAP0L$0$0 == 0x00ea
_CCAP0L	=	0x00ea
G$CCAP1L$0$0 == 0x00eb
_CCAP1L	=	0x00eb
G$CCAP2L$0$0 == 0x00ec
_CCAP2L	=	0x00ec
G$CCAP3L$0$0 == 0x00ed
_CCAP3L	=	0x00ed
G$CCAP4L$0$0 == 0x00ee
_CCAP4L	=	0x00ee
G$CCAPM0$0$0 == 0x00da
_CCAPM0	=	0x00da
G$CCAPM1$0$0 == 0x00db
_CCAPM1	=	0x00db
G$CCAPM2$0$0 == 0x00dc
_CCAPM2	=	0x00dc
G$CCAPM3$0$0 == 0x00dd
_CCAPM3	=	0x00dd
G$CCAPM4$0$0 == 0x00de
_CCAPM4	=	0x00de
G$CCON$0$0 == 0x00d8
_CCON	=	0x00d8
G$CH$0$0 == 0x00f9
_CH	=	0x00f9
G$CL$0$0 == 0x00e9
_CL	=	0x00e9
G$CMOD$0$0 == 0x00d9
_CMOD	=	0x00d9
G$IEN0$0$0 == 0x00a8
_IEN0	=	0x00a8
G$IEN1$0$0 == 0x00b1
_IEN1	=	0x00b1
G$IPL0$0$0 == 0x00b8
_IPL0	=	0x00b8
G$IPH0$0$0 == 0x00b7
_IPH0	=	0x00b7
G$IPL1$0$0 == 0x00b2
_IPL1	=	0x00b2
G$IPH1$0$0 == 0x00b3
_IPH1	=	0x00b3
G$P4$0$0 == 0x00c0
_P4	=	0x00c0
G$P5$0$0 == 0x00d8
_P5	=	0x00d8
G$WDTRST$0$0 == 0x00a6
_WDTRST	=	0x00a6
G$WDTPRG$0$0 == 0x00a7
_WDTPRG	=	0x00a7
G$SADDR$0$0 == 0x00a9
_SADDR	=	0x00a9
G$SADEN$0$0 == 0x00b9
_SADEN	=	0x00b9
G$SPCON$0$0 == 0x00c3
_SPCON	=	0x00c3
G$SPSTA$0$0 == 0x00c4
_SPSTA	=	0x00c4
G$SPDAT$0$0 == 0x00c5
_SPDAT	=	0x00c5
G$T2MOD$0$0 == 0x00c9
_T2MOD	=	0x00c9
G$BDRCON$0$0 == 0x009b
_BDRCON	=	0x009b
G$BRL$0$0 == 0x009a
_BRL	=	0x009a
G$KBLS$0$0 == 0x009c
_KBLS	=	0x009c
G$KBE$0$0 == 0x009d
_KBE	=	0x009d
G$KBF$0$0 == 0x009e
_KBF	=	0x009e
G$EECON$0$0 == 0x00d2
_EECON	=	0x00d2
G$ACC$0$0 == 0x00e0
_ACC	=	0x00e0
G$B$0$0 == 0x00f0
_B	=	0x00f0
G$DPH$0$0 == 0x0083
_DPH	=	0x0083
G$DP0H$0$0 == 0x0083
_DP0H	=	0x0083
G$DPL$0$0 == 0x0082
_DPL	=	0x0082
G$DP0L$0$0 == 0x0082
_DP0L	=	0x0082
G$IE$0$0 == 0x00a8
_IE	=	0x00a8
G$IP$0$0 == 0x00b8
_IP	=	0x00b8
G$P0$0$0 == 0x0080
_P0	=	0x0080
G$P1$0$0 == 0x0090
_P1	=	0x0090
G$P2$0$0 == 0x00a0
_P2	=	0x00a0
G$P3$0$0 == 0x00b0
_P3	=	0x00b0
G$PCON$0$0 == 0x0087
_PCON	=	0x0087
G$PSW$0$0 == 0x00d0
_PSW	=	0x00d0
G$SBUF$0$0 == 0x0099
_SBUF	=	0x0099
G$SBUF0$0$0 == 0x0099
_SBUF0	=	0x0099
G$SCON$0$0 == 0x0098
_SCON	=	0x0098
G$SP$0$0 == 0x0081
_SP	=	0x0081
G$TCON$0$0 == 0x0088
_TCON	=	0x0088
G$TH0$0$0 == 0x008c
_TH0	=	0x008c
G$TH1$0$0 == 0x008d
_TH1	=	0x008d
G$TL0$0$0 == 0x008a
_TL0	=	0x008a
G$TL1$0$0 == 0x008b
_TL1	=	0x008b
G$TMOD$0$0 == 0x0089
_TMOD	=	0x0089
;--------------------------------------------------------
; special function bits
;--------------------------------------------------------
	.area RSEG    (DATA)
G$ET2$0$0 == 0x00ad
_ET2	=	0x00ad
G$PT2$0$0 == 0x00bd
_PT2	=	0x00bd
G$T2CON_0$0$0 == 0x00c8
_T2CON_0	=	0x00c8
G$T2CON_1$0$0 == 0x00c9
_T2CON_1	=	0x00c9
G$T2CON_2$0$0 == 0x00ca
_T2CON_2	=	0x00ca
G$T2CON_3$0$0 == 0x00cb
_T2CON_3	=	0x00cb
G$T2CON_4$0$0 == 0x00cc
_T2CON_4	=	0x00cc
G$T2CON_5$0$0 == 0x00cd
_T2CON_5	=	0x00cd
G$T2CON_6$0$0 == 0x00ce
_T2CON_6	=	0x00ce
G$T2CON_7$0$0 == 0x00cf
_T2CON_7	=	0x00cf
G$CP_RL2$0$0 == 0x00c8
_CP_RL2	=	0x00c8
G$C_T2$0$0 == 0x00c9
_C_T2	=	0x00c9
G$TR2$0$0 == 0x00ca
_TR2	=	0x00ca
G$EXEN2$0$0 == 0x00cb
_EXEN2	=	0x00cb
G$TCLK$0$0 == 0x00cc
_TCLK	=	0x00cc
G$RCLK$0$0 == 0x00cd
_RCLK	=	0x00cd
G$EXF2$0$0 == 0x00ce
_EXF2	=	0x00ce
G$TF2$0$0 == 0x00cf
_TF2	=	0x00cf
G$CF$0$0 == 0x00df
_CF	=	0x00df
G$CR$0$0 == 0x00de
_CR	=	0x00de
G$CCF4$0$0 == 0x00dc
_CCF4	=	0x00dc
G$CCF3$0$0 == 0x00db
_CCF3	=	0x00db
G$CCF2$0$0 == 0x00da
_CCF2	=	0x00da
G$CCF1$0$0 == 0x00d9
_CCF1	=	0x00d9
G$CCF0$0$0 == 0x00d8
_CCF0	=	0x00d8
G$EC$0$0 == 0x00ae
_EC	=	0x00ae
G$PPCL$0$0 == 0x00be
_PPCL	=	0x00be
G$PT2L$0$0 == 0x00bd
_PT2L	=	0x00bd
G$PLS$0$0 == 0x00bc
_PLS	=	0x00bc
G$PT1L$0$0 == 0x00bb
_PT1L	=	0x00bb
G$PX1L$0$0 == 0x00ba
_PX1L	=	0x00ba
G$PT0L$0$0 == 0x00b9
_PT0L	=	0x00b9
G$PX0L$0$0 == 0x00b8
_PX0L	=	0x00b8
G$P4_0$0$0 == 0x00c0
_P4_0	=	0x00c0
G$P4_1$0$0 == 0x00c1
_P4_1	=	0x00c1
G$P4_2$0$0 == 0x00c2
_P4_2	=	0x00c2
G$P4_3$0$0 == 0x00c3
_P4_3	=	0x00c3
G$P4_4$0$0 == 0x00c4
_P4_4	=	0x00c4
G$P4_5$0$0 == 0x00c5
_P4_5	=	0x00c5
G$P4_6$0$0 == 0x00c6
_P4_6	=	0x00c6
G$P4_7$0$0 == 0x00c7
_P4_7	=	0x00c7
G$P5_0$0$0 == 0x00d8
_P5_0	=	0x00d8
G$P5_1$0$0 == 0x00d9
_P5_1	=	0x00d9
G$P5_2$0$0 == 0x00da
_P5_2	=	0x00da
G$P5_3$0$0 == 0x00db
_P5_3	=	0x00db
G$P5_4$0$0 == 0x00dc
_P5_4	=	0x00dc
G$P5_5$0$0 == 0x00dd
_P5_5	=	0x00dd
G$P5_6$0$0 == 0x00de
_P5_6	=	0x00de
G$P5_7$0$0 == 0x00df
_P5_7	=	0x00df
G$BREG_F0$0$0 == 0x00f0
_BREG_F0	=	0x00f0
G$BREG_F1$0$0 == 0x00f1
_BREG_F1	=	0x00f1
G$BREG_F2$0$0 == 0x00f2
_BREG_F2	=	0x00f2
G$BREG_F3$0$0 == 0x00f3
_BREG_F3	=	0x00f3
G$BREG_F4$0$0 == 0x00f4
_BREG_F4	=	0x00f4
G$BREG_F5$0$0 == 0x00f5
_BREG_F5	=	0x00f5
G$BREG_F6$0$0 == 0x00f6
_BREG_F6	=	0x00f6
G$BREG_F7$0$0 == 0x00f7
_BREG_F7	=	0x00f7
G$EX0$0$0 == 0x00a8
_EX0	=	0x00a8
G$ET0$0$0 == 0x00a9
_ET0	=	0x00a9
G$EX1$0$0 == 0x00aa
_EX1	=	0x00aa
G$ET1$0$0 == 0x00ab
_ET1	=	0x00ab
G$ES$0$0 == 0x00ac
_ES	=	0x00ac
G$EA$0$0 == 0x00af
_EA	=	0x00af
G$PX0$0$0 == 0x00b8
_PX0	=	0x00b8
G$PT0$0$0 == 0x00b9
_PT0	=	0x00b9
G$PX1$0$0 == 0x00ba
_PX1	=	0x00ba
G$PT1$0$0 == 0x00bb
_PT1	=	0x00bb
G$PS$0$0 == 0x00bc
_PS	=	0x00bc
G$P0_0$0$0 == 0x0080
_P0_0	=	0x0080
G$P0_1$0$0 == 0x0081
_P0_1	=	0x0081
G$P0_2$0$0 == 0x0082
_P0_2	=	0x0082
G$P0_3$0$0 == 0x0083
_P0_3	=	0x0083
G$P0_4$0$0 == 0x0084
_P0_4	=	0x0084
G$P0_5$0$0 == 0x0085
_P0_5	=	0x0085
G$P0_6$0$0 == 0x0086
_P0_6	=	0x0086
G$P0_7$0$0 == 0x0087
_P0_7	=	0x0087
G$P1_0$0$0 == 0x0090
_P1_0	=	0x0090
G$P1_1$0$0 == 0x0091
_P1_1	=	0x0091
G$P1_2$0$0 == 0x0092
_P1_2	=	0x0092
G$P1_3$0$0 == 0x0093
_P1_3	=	0x0093
G$P1_4$0$0 == 0x0094
_P1_4	=	0x0094
G$P1_5$0$0 == 0x0095
_P1_5	=	0x0095
G$P1_6$0$0 == 0x0096
_P1_6	=	0x0096
G$P1_7$0$0 == 0x0097
_P1_7	=	0x0097
G$P2_0$0$0 == 0x00a0
_P2_0	=	0x00a0
G$P2_1$0$0 == 0x00a1
_P2_1	=	0x00a1
G$P2_2$0$0 == 0x00a2
_P2_2	=	0x00a2
G$P2_3$0$0 == 0x00a3
_P2_3	=	0x00a3
G$P2_4$0$0 == 0x00a4
_P2_4	=	0x00a4
G$P2_5$0$0 == 0x00a5
_P2_5	=	0x00a5
G$P2_6$0$0 == 0x00a6
_P2_6	=	0x00a6
G$P2_7$0$0 == 0x00a7
_P2_7	=	0x00a7
G$P3_0$0$0 == 0x00b0
_P3_0	=	0x00b0
G$P3_1$0$0 == 0x00b1
_P3_1	=	0x00b1
G$P3_2$0$0 == 0x00b2
_P3_2	=	0x00b2
G$P3_3$0$0 == 0x00b3
_P3_3	=	0x00b3
G$P3_4$0$0 == 0x00b4
_P3_4	=	0x00b4
G$P3_5$0$0 == 0x00b5
_P3_5	=	0x00b5
G$P3_6$0$0 == 0x00b6
_P3_6	=	0x00b6
G$P3_7$0$0 == 0x00b7
_P3_7	=	0x00b7
G$RXD$0$0 == 0x00b0
_RXD	=	0x00b0
G$RXD0$0$0 == 0x00b0
_RXD0	=	0x00b0
G$TXD$0$0 == 0x00b1
_TXD	=	0x00b1
G$TXD0$0$0 == 0x00b1
_TXD0	=	0x00b1
G$INT0$0$0 == 0x00b2
_INT0	=	0x00b2
G$INT1$0$0 == 0x00b3
_INT1	=	0x00b3
G$T0$0$0 == 0x00b4
_T0	=	0x00b4
G$T1$0$0 == 0x00b5
_T1	=	0x00b5
G$WR$0$0 == 0x00b6
_WR	=	0x00b6
G$RD$0$0 == 0x00b7
_RD	=	0x00b7
G$P$0$0 == 0x00d0
_P	=	0x00d0
G$F1$0$0 == 0x00d1
_F1	=	0x00d1
G$OV$0$0 == 0x00d2
_OV	=	0x00d2
G$RS0$0$0 == 0x00d3
_RS0	=	0x00d3
G$RS1$0$0 == 0x00d4
_RS1	=	0x00d4
G$F0$0$0 == 0x00d5
_F0	=	0x00d5
G$AC$0$0 == 0x00d6
_AC	=	0x00d6
G$CY$0$0 == 0x00d7
_CY	=	0x00d7
G$RI$0$0 == 0x0098
_RI	=	0x0098
G$TI$0$0 == 0x0099
_TI	=	0x0099
G$RB8$0$0 == 0x009a
_RB8	=	0x009a
G$TB8$0$0 == 0x009b
_TB8	=	0x009b
G$REN$0$0 == 0x009c
_REN	=	0x009c
G$SM2$0$0 == 0x009d
_SM2	=	0x009d
G$SM1$0$0 == 0x009e
_SM1	=	0x009e
G$SM0$0$0 == 0x009f
_SM0	=	0x009f
G$IT0$0$0 == 0x0088
_IT0	=	0x0088
G$IE0$0$0 == 0x0089
_IE0	=	0x0089
G$IT1$0$0 == 0x008a
_IT1	=	0x008a
G$IE1$0$0 == 0x008b
_IE1	=	0x008b
G$TR0$0$0 == 0x008c
_TR0	=	0x008c
G$TF0$0$0 == 0x008d
_TF0	=	0x008d
G$TR1$0$0 == 0x008e
_TR1	=	0x008e
G$TF1$0$0 == 0x008f
_TF1	=	0x008f
;--------------------------------------------------------
; overlayable register banks
;--------------------------------------------------------
	.area REG_BANK_0	(REL,OVR,DATA)
	.ds 8
;--------------------------------------------------------
; internal ram data
;--------------------------------------------------------
	.area DSEG    (DATA)
Lgetstr$sloc0$1$0==.
_getstr_sloc0_1_0:
	.ds 3
LdispAll$sloc0$1$0==.
_dispAll_sloc0_1_0:
	.ds 2
LdispAll$sloc1$1$0==.
_dispAll_sloc1_1_0:
	.ds 2
LdispAll$sloc2$1$0==.
_dispAll_sloc2_1_0:
	.ds 2
LdispAll$sloc3$1$0==.
_dispAll_sloc3_1_0:
	.ds 2
;--------------------------------------------------------
; overlayable items in internal ram 
;--------------------------------------------------------
	.area OSEG    (OVR,DATA)
;--------------------------------------------------------
; Stack segment in internal ram 
;--------------------------------------------------------
	.area	SSEG	(DATA)
__start__stack:
	.ds	1

;--------------------------------------------------------
; indirectly addressable internal ram data
;--------------------------------------------------------
	.area ISEG    (DATA)
;--------------------------------------------------------
; bit data
;--------------------------------------------------------
	.area BSEG    (BIT)
;--------------------------------------------------------
; paged external ram data
;--------------------------------------------------------
	.area PSEG    (PAG,XDATA)
;--------------------------------------------------------
; external ram data
;--------------------------------------------------------
	.area XSEG    (XDATA)
G$heap$0$0==.
_heap::
	.ds 1800
Lputchar$c$1$1==.
_putchar_c_1_1:
	.ds 1
Lputstr$s$1$1==.
_putstr_s_1_1:
	.ds 3
Lgetstr$s$1$1==.
_getstr_s_1_1:
	.ds 3
LserialInit$br$1$1==.
_serialInit_br_1_1:
	.ds 2
LmyDelay$j$1$1==.
_myDelay_j_1_1:
	.ds 2
LcleanBuf$mode$1$1==.
_cleanBuf_PARM_2:
	.ds 2
LcleanBuf$id$1$1==.
_cleanBuf_id_1_1:
	.ds 2
LcleanBuf$ptr$1$1==.
_cleanBuf_ptr_1_1:
	.ds 2
LcalcStats$id$1$1==.
_calcStats_id_1_1:
	.ds 2
LdispAll$id$1$1==.
_dispAll_PARM_2:
	.ds 2
LdispAll$mode$1$1==.
_dispAll_mode_1_1:
	.ds 2
LdispAll$idx$1$1==.
_dispAll_idx_1_1:
	.ds 2
LdispAll$modeLim$1$1==.
_dispAll_modeLim_1_1:
	.ds 2
LdispAll$tmpAddr$1$1==.
_dispAll_tmpAddr_1_1:
	.ds 2
LdispAll$moreDisp$1$1==.
_dispAll_moreDisp_1_1:
	.ds 2
LdispAll$ptr$1$1==.
_dispAll_ptr_1_1:
	.ds 2
Lmain$c_numBuf$1$1==.
_main_c_numBuf_1_1:
	.ds 2
Lmain$c_sizeBuf$1$1==.
_main_c_sizeBuf_1_1:
	.ds 5
Lmain$i$1$1==.
_main_i_1_1:
	.ds 2
Lmain$allocOK$1$1==.
_main_allocOK_1_1:
	.ds 2
;--------------------------------------------------------
; external initialized ram data
;--------------------------------------------------------
	.area XISEG   (XDATA)
G$numBuf$0$0==.
_numBuf::
	.ds 2
G$sizeBuf$0$0==.
_sizeBuf::
	.ds 2
G$curBuf$0$0==.
_curBuf::
	.ds 2
G$chCount$0$0==.
_chCount::
	.ds 10
G$stats$0$0==.
_stats::
	.ds 32
G$buffer$0$0==.
_buffer::
	.ds 10
G$bufPtr$0$0==.
_bufPtr::
	.ds 2
	.area HOME    (CODE)
	.area GSINIT0 (CODE)
	.area GSINIT1 (CODE)
	.area GSINIT2 (CODE)
	.area GSINIT3 (CODE)
	.area GSINIT4 (CODE)
	.area GSINIT5 (CODE)
	.area GSINIT  (CODE)
	.area GSFINAL (CODE)
	.area CSEG    (CODE)
;--------------------------------------------------------
; interrupt vector 
;--------------------------------------------------------
	.area HOME    (CODE)
__interrupt_vect:
	ljmp	__sdcc_gsinit_startup
;--------------------------------------------------------
; global & static initialisations
;--------------------------------------------------------
	.area HOME    (CODE)
	.area GSINIT  (CODE)
	.area GSFINAL (CODE)
	.area GSINIT  (CODE)
	.globl __sdcc_gsinit_startup
	.globl __sdcc_program_startup
	.globl __start__stack
	.globl __mcs51_genXINIT
	.globl __mcs51_genXRAMCLEAR
	.globl __mcs51_genRAMCLEAR
	.area GSFINAL (CODE)
	ljmp	__sdcc_program_startup
;--------------------------------------------------------
; Home
;--------------------------------------------------------
	.area HOME    (CODE)
	.area CSEG    (CODE)
__sdcc_program_startup:
	lcall	_main
;	return from main will lock up
	sjmp .
;--------------------------------------------------------
; code
;--------------------------------------------------------
	.area CSEG    (CODE)
;------------------------------------------------------------
;Allocation info for local variables in function '_sdcc_external_startup'
;------------------------------------------------------------
;------------------------------------------------------------
	G$_sdcc_external_startup$0$0 ==.
	C$main.c$138$0$0 ==.
;	../src/main.c:138: _sdcc_external_startup() {
;	-----------------------------------------
;	 function _sdcc_external_startup
;	-----------------------------------------
__sdcc_external_startup:
	ar2 = 0x02
	ar3 = 0x03
	ar4 = 0x04
	ar5 = 0x05
	ar6 = 0x06
	ar7 = 0x07
	ar0 = 0x00
	ar1 = 0x01
	C$main.c$140$1$1 ==.
;	../src/main.c:140: AUXR |= 0x0C;
;	genOr
	orl	_AUXR,#0x0C
	C$main.c$141$1$1 ==.
;	../src/main.c:141: return 0;
;	genRet
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x0000
;	Peephole 300	removed redundant label 00101$
	C$main.c$142$1$1 ==.
	XG$_sdcc_external_startup$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'putchar'
;------------------------------------------------------------
;c                         Allocated with name '_putchar_c_1_1'
;------------------------------------------------------------
	G$putchar$0$0 ==.
	C$main.c$162$1$1 ==.
;	../src/main.c:162: void putchar (char c) {
;	-----------------------------------------
;	 function putchar
;	-----------------------------------------
_putchar:
;	genReceive
	mov	a,dpl
	mov	dptr,#_putchar_c_1_1
	movx	@dptr,a
	C$main.c$164$1$1 ==.
;	../src/main.c:164: while ((SCON & 0x02) == 0);    				// wait for TX ready, spin on TI
00101$:
;	genAnd
	mov	a,_SCON
;	genIfxJump
;	Peephole 108.d	removed ljmp by inverse jump logic
	jnb	acc.1,00101$
;	Peephole 300	removed redundant label 00108$
	C$main.c$165$1$1 ==.
;	../src/main.c:165: SBUF = c;  									// load serial port with transmit value
;	genAssign
	mov	dptr,#_putchar_c_1_1
	movx	a,@dptr
	mov	_SBUF,a
	C$main.c$166$1$1 ==.
;	../src/main.c:166: TI = 0;  									// clear TI flag
;	genAssign
	clr	_TI
;	Peephole 300	removed redundant label 00104$
	C$main.c$167$1$1 ==.
	XG$putchar$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'getchar'
;------------------------------------------------------------
;------------------------------------------------------------
	G$getchar$0$0 ==.
	C$main.c$188$1$1 ==.
;	../src/main.c:188: char getchar () {
;	-----------------------------------------
;	 function getchar
;	-----------------------------------------
_getchar:
	C$main.c$190$1$1 ==.
;	../src/main.c:190: while ((SCON & 0x01) == 0);  				// wait for character to be received, spin on RI
00101$:
;	genAnd
	mov	a,_SCON
;	genIfxJump
;	Peephole 108.d	removed ljmp by inverse jump logic
	jnb	acc.0,00101$
;	Peephole 300	removed redundant label 00108$
	C$main.c$191$1$1 ==.
;	../src/main.c:191: RI = 0;										// clear RI flag
;	genAssign
	clr	_RI
	C$main.c$192$1$1 ==.
;	../src/main.c:192: return SBUF;  								// return character from SBUF
;	genAssign
	mov	r2,_SBUF
;	genRet
	mov	dpl,r2
;	Peephole 300	removed redundant label 00104$
	C$main.c$193$1$1 ==.
	XG$getchar$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'putstr'
;------------------------------------------------------------
;s                         Allocated with name '_putstr_s_1_1'
;i                         Allocated with name '_putstr_i_1_1'
;------------------------------------------------------------
	G$putstr$0$0 ==.
	C$main.c$212$1$1 ==.
;	../src/main.c:212: int putstr (char *s) {
;	-----------------------------------------
;	 function putstr
;	-----------------------------------------
_putstr:
;	genReceive
	mov	r2,b
	mov	r3,dph
	mov	a,dpl
	mov	dptr,#_putstr_s_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$215$1$1 ==.
;	../src/main.c:215: while (*s){									// output characters until NULL found
;	genAssign
	mov	dptr,#_putstr_s_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	genAssign
	mov	r5,#0x00
	mov	r6,#0x00
00101$:
;	genPointerGet
;	genGenPointerGet
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
;	genIfx
	mov	r7,a
;	Peephole 105	removed redundant mov
;	genIfxJump
;	Peephole 108.c	removed ljmp by inverse jump logic
	jz	00108$
;	Peephole 300	removed redundant label 00109$
	C$main.c$216$2$2 ==.
;	../src/main.c:216: putchar(*s++);
;	genAssign
;	genPlus
;     genPlusIncr
	inc	r2
	cjne	r2,#0x00,00110$
	inc	r3
00110$:
;	genAssign
	mov	dptr,#_putstr_s_1_1
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
;	genCall
	mov	dpl,r7
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	lcall	_putchar
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
	C$main.c$217$2$2 ==.
;	../src/main.c:217: i++;
;	genPlus
;     genPlusIncr
;	tail increment optimized (range 8)
	inc	r5
	cjne	r5,#0x00,00101$
	inc	r6
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00101$
00108$:
;	genAssign
	mov	dptr,#_putstr_s_1_1
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
	C$main.c$220$1$1 ==.
;	../src/main.c:220: return i+1;
;	genPlus
;     genPlusIncr
	inc	r5
	cjne	r5,#0x00,00111$
	inc	r6
00111$:
;	genRet
	mov	dpl,r5
	mov	dph,r6
;	Peephole 300	removed redundant label 00104$
	C$main.c$221$1$1 ==.
	XG$putstr$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'getstr'
;------------------------------------------------------------
;sloc0                     Allocated with name '_getstr_sloc0_1_0'
;s                         Allocated with name '_getstr_s_1_1'
;i                         Allocated with name '_getstr_i_1_1'
;------------------------------------------------------------
	G$getstr$0$0 ==.
	C$main.c$245$1$1 ==.
;	../src/main.c:245: int getstr (char *s) {
;	-----------------------------------------
;	 function getstr
;	-----------------------------------------
_getstr:
;	genReceive
	mov	r2,b
	mov	r3,dph
	mov	a,dpl
	mov	dptr,#_getstr_s_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$248$2$2 ==.
;	../src/main.c:248: do {			
;	genAssign
	mov	dptr,#_getstr_s_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	genAssign
	mov	r5,#0x00
	mov	r6,#0x00
00101$:
	C$main.c$249$2$2 ==.
;	../src/main.c:249: s[i] = getchar();
;	genPlus
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	mov	_getstr_sloc0_1_0,a
;	Peephole 236.g	used r6 instead of ar6
	mov	a,r6
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	mov	(_getstr_sloc0_1_0 + 1),a
	mov	(_getstr_sloc0_1_0 + 2),r4
;	genCall
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	lcall	_getchar
	mov	r7,dpl
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
;	genPointerSet
;	genGenPointerSet
	mov	dpl,_getstr_sloc0_1_0
	mov	dph,(_getstr_sloc0_1_0 + 1)
	mov	b,(_getstr_sloc0_1_0 + 2)
	mov	a,r7
	lcall	__gptrput
	C$main.c$250$2$2 ==.
;	../src/main.c:250: putchar(s[i]);
;	genCall
	mov	dpl,r7
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	lcall	_putchar
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
	C$main.c$251$2$2 ==.
;	../src/main.c:251: i++;
;	genPlus
;     genPlusIncr
	inc	r5
	cjne	r5,#0x00,00109$
	inc	r6
00109$:
	C$main.c$252$1$1 ==.
;	../src/main.c:252: } while(s[i-1] != 0x0D);  					//0x0D is <CR> 
;	genMinus
;	genMinusDec
	mov	a,r5
	add	a,#0xff
	mov	r7,a
	mov	a,r6
	addc	a,#0xff
	mov	r0,a
;	genPlus
;	Peephole 236.g	used r7 instead of ar7
	mov	a,r7
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	mov	r7,a
;	Peephole 236.g	used r0 instead of ar0
	mov	a,r0
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	mov	r0,a
	mov	ar1,r4
;	genPointerGet
;	genGenPointerGet
	mov	dpl,r7
	mov	dph,r0
	mov	b,r1
	lcall	__gptrget
	mov	r7,a
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.b	optimized misc jump sequence
	cjne	r7,#0x0D,00101$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00110$
;	Peephole 300	removed redundant label 00111$
	C$main.c$253$1$1 ==.
;	../src/main.c:253: s[i-1] = 0x00;								//replace <CR> with NULL (0x00)
;	genMinus
;	genMinusDec
	dec	r5
	cjne	r5,#0xff,00112$
	dec	r6
00112$:
;	genPlus
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	mov	r2,a
;	Peephole 236.g	used r6 instead of ar6
	mov	a,r6
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	mov	r3,a
;	genPointerSet
;	genGenPointerSet
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
;	Peephole 181	changed mov to clr
	clr	a
	lcall	__gptrput
	C$main.c$254$1$1 ==.
;	../src/main.c:254: putchar('\n\r');
;	genCall
	mov	dpl,#0x0A
	push	ar5
	push	ar6
	lcall	_putchar
	pop	ar6
	pop	ar5
	C$main.c$255$1$1 ==.
;	../src/main.c:255: return (i-1);
;	genRet
	mov	dpl,r5
	mov	dph,r6
;	Peephole 300	removed redundant label 00104$
	C$main.c$256$1$1 ==.
	XG$getstr$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'serialInit'
;------------------------------------------------------------
;br                        Allocated with name '_serialInit_br_1_1'
;------------------------------------------------------------
	G$serialInit$0$0 ==.
	C$main.c$275$1$1 ==.
;	../src/main.c:275: void serialInit(int br) {
;	-----------------------------------------
;	 function serialInit
;	-----------------------------------------
_serialInit:
;	genReceive
	mov	r2,dph
	mov	a,dpl
	mov	dptr,#_serialInit_br_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$277$1$1 ==.
;	../src/main.c:277: PCON = 0x80;								/* configure uart, fast baud				*/
;	genAssign
	mov	_PCON,#0x80
	C$main.c$278$1$1 ==.
;	../src/main.c:278: SCON  = 0x50;                   			/* SCON: mode 1, 8-bit UART, enable rcvr    */
;	genAssign
	mov	_SCON,#0x50
	C$main.c$279$1$1 ==.
;	../src/main.c:279: TMOD |= 0x20;                   			/* TMOD: timer 1, mode 2, 8-bit reload      */
;	genOr
	orl	_TMOD,#0x20
	C$main.c$280$1$1 ==.
;	../src/main.c:280: TH1   = br;                   				/* TH1:  reload value for baudrate          */
;	genAssign
	mov	dptr,#_serialInit_br_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genCast
	mov	_TH1,r2
	C$main.c$282$1$1 ==.
;	../src/main.c:282: TR1   = 1;                      			/* TR1:  timer 1 run                        */
;	genAssign
	setb	_TR1
	C$main.c$283$1$1 ==.
;	../src/main.c:283: TI    = 1;                      			/* TI:   set TI to send first char of UART  */
;	genAssign
	setb	_TI
;	Peephole 300	removed redundant label 00101$
	C$main.c$284$1$1 ==.
	XG$serialInit$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'initAll'
;------------------------------------------------------------
;i                         Allocated with name '_initAll_i_1_1'
;------------------------------------------------------------
	G$initAll$0$0 ==.
	C$main.c$300$1$1 ==.
;	../src/main.c:300: void initAll() {
;	-----------------------------------------
;	 function initAll
;	-----------------------------------------
_initAll:
	C$main.c$304$1$1 ==.
;	../src/main.c:304: numBuf = 0;
;	genAssign
	mov	dptr,#_numBuf
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
	C$main.c$305$1$1 ==.
;	../src/main.c:305: sizeBuf = 0;
;	genAssign
	mov	dptr,#_sizeBuf
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
	C$main.c$306$1$1 ==.
;	../src/main.c:306: curBuf = 0;
;	genAssign
	mov	dptr,#_curBuf
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
	C$main.c$307$2$2 ==.
;	../src/main.c:307: for (i=0; i<MAXBUFS; i++) {
;	genAssign
	mov	r2,#0x00
	mov	r3,#0x00
00101$:
;	genCmpLt
;	genCmp
	clr	c
	mov	a,r2
	subb	a,#0x05
	mov	a,r3
	xrl	a,#0x80
	subb	a,#0x80
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00104$
;	Peephole 300	removed redundant label 00117$
	C$main.c$308$2$2 ==.
;	../src/main.c:308: chCount[i] = 0;
;	genLeftShift
;	genLeftShiftLiteral
;	genlshTwo
	mov	ar4,r2
	mov	a,r3
	xch	a,r4
	add	a,acc
	xch	a,r4
	rlc	a
	mov	r5,a
;	genPlus
;	Peephole 236.g	used r4 instead of ar4
	mov	a,r4
	add	a,#_chCount
	mov	dpl,a
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
	addc	a,#(_chCount >> 8)
	mov	dph,a
;	genPointerSet
;     genFarPointerSet
;	Peephole 181	changed mov to clr
	clr	a
	movx	@dptr,a
	inc	dptr
;	Peephole 101	removed redundant mov
	movx	@dptr,a
	C$main.c$307$1$1 ==.
;	../src/main.c:307: for (i=0; i<MAXBUFS; i++) {
;	genPlus
;     genPlusIncr
;	tail increment optimized (range 6)
	inc	r2
	cjne	r2,#0x00,00101$
	inc	r3
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00101$
00104$:
	C$main.c$310$2$3 ==.
;	../src/main.c:310: for (i=0; i<STATCNT; i++) {
;	genAssign
	mov	r2,#0x00
	mov	r3,#0x00
00105$:
;	genCmpLt
;	genCmp
	clr	c
	mov	a,r2
	subb	a,#0x10
	mov	a,r3
	xrl	a,#0x80
	subb	a,#0x80
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00109$
;	Peephole 300	removed redundant label 00118$
	C$main.c$311$2$3 ==.
;	../src/main.c:311: stats[i] = 0;
;	genLeftShift
;	genLeftShiftLiteral
;	genlshTwo
	mov	ar4,r2
	mov	a,r3
	xch	a,r4
	add	a,acc
	xch	a,r4
	rlc	a
	mov	r5,a
;	genPlus
;	Peephole 236.g	used r4 instead of ar4
	mov	a,r4
	add	a,#_stats
	mov	dpl,a
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
	addc	a,#(_stats >> 8)
	mov	dph,a
;	genPointerSet
;     genFarPointerSet
;	Peephole 181	changed mov to clr
	clr	a
	movx	@dptr,a
	inc	dptr
;	Peephole 101	removed redundant mov
	movx	@dptr,a
	C$main.c$310$1$1 ==.
;	../src/main.c:310: for (i=0; i<STATCNT; i++) {
;	genPlus
;     genPlusIncr
;	tail increment optimized (range 6)
	inc	r2
	cjne	r2,#0x00,00105$
	inc	r3
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00105$
00109$:
	C$main.c$313$1$1 ==.
	XG$initAll$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'clearScr'
;------------------------------------------------------------
;------------------------------------------------------------
	G$clearScr$0$0 ==.
	C$main.c$334$1$1 ==.
;	../src/main.c:334: void clearScr() { 
;	-----------------------------------------
;	 function clearScr
;	-----------------------------------------
_clearScr:
	C$main.c$335$1$1 ==.
;	../src/main.c:335: printf("\033c");			//reset terminal
;	genIpush
	mov	a,#__str_0
	push	acc
	mov	a,#(__str_0 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$336$1$1 ==.
;	../src/main.c:336: printf("\033[2J");			//clear screen
;	genIpush
	mov	a,#__str_1
	push	acc
	mov	a,#(__str_1 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
;	Peephole 300	removed redundant label 00101$
	C$main.c$337$1$1 ==.
	XG$clearScr$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'myDelay'
;------------------------------------------------------------
;j                         Allocated with name '_myDelay_j_1_1'
;i                         Allocated with name '_myDelay_i_1_1'
;cnt                       Allocated with name '_myDelay_cnt_1_1'
;------------------------------------------------------------
	G$myDelay$0$0 ==.
	C$main.c$353$1$1 ==.
;	../src/main.c:353: void myDelay(int j) {
;	-----------------------------------------
;	 function myDelay
;	-----------------------------------------
_myDelay:
;	genReceive
	mov	r2,dph
	mov	a,dpl
	mov	dptr,#_myDelay_j_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$357$1$1 ==.
;	../src/main.c:357: j*=100;
;	genAssign
	mov	dptr,#_myDelay_j_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genAssign
	mov	dptr,#__mulint_PARM_2
	mov	a,#0x64
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genCall
	mov	dpl,r2
	mov	dph,r3
	lcall	__mulint
	mov	a,dpl
	mov	b,dph
;	genAssign
	mov	dptr,#_myDelay_j_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,b
	movx	@dptr,a
	C$main.c$358$1$1 ==.
;	../src/main.c:358: while(j) {
;	genAssign
	mov	dptr,#_myDelay_j_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
00101$:
;	genIfx
	mov	a,r2
	orl	a,r3
;	genIfxJump
	jnz	00169$
	ljmp	00168$
00169$:
	C$main.c$359$1$1 ==.
;	../src/main.c:359: for(i=0; i<100; i++);
;	genAssign
	mov	r4,#0x64
	mov	r5,#0x00
00106$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00170$
	dec	r5
00170$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$360$1$1 ==.
;	../src/main.c:360: for(i=0; i<100; i++);
;	genAssign
	jnz	00106$
;	Peephole 300	removed redundant label 00171$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00109$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00172$
	dec	r5
00172$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$361$1$1 ==.
;	../src/main.c:361: for(i=0; i<100; i++);
;	genAssign
	jnz	00109$
;	Peephole 300	removed redundant label 00173$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00112$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00174$
	dec	r5
00174$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$362$1$1 ==.
;	../src/main.c:362: for(i=0; i<100; i++);
;	genAssign
	jnz	00112$
;	Peephole 300	removed redundant label 00175$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00115$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00176$
	dec	r5
00176$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$363$1$1 ==.
;	../src/main.c:363: for(i=0; i<100; i++);
;	genAssign
	jnz	00115$
;	Peephole 300	removed redundant label 00177$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00118$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00178$
	dec	r5
00178$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$364$1$1 ==.
;	../src/main.c:364: for(i=0; i<100; i++);
;	genAssign
	jnz	00118$
;	Peephole 300	removed redundant label 00179$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00121$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00180$
	dec	r5
00180$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$365$1$1 ==.
;	../src/main.c:365: for(i=0; i<100; i++);
;	genAssign
	jnz	00121$
;	Peephole 300	removed redundant label 00181$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00124$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00182$
	dec	r5
00182$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$366$1$1 ==.
;	../src/main.c:366: for(i=0; i<100; i++);
;	genAssign
	jnz	00124$
;	Peephole 300	removed redundant label 00183$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00127$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00184$
	dec	r5
00184$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$367$1$1 ==.
;	../src/main.c:367: for(i=0; i<100; i++);
;	genAssign
	jnz	00127$
;	Peephole 300	removed redundant label 00185$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00130$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00186$
	dec	r5
00186$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$368$1$1 ==.
;	../src/main.c:368: for(i=0; i<100; i++);
;	genAssign
	jnz	00130$
;	Peephole 300	removed redundant label 00187$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00133$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00188$
	dec	r5
00188$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	jnz	00133$
;	Peephole 300	removed redundant label 00189$
	C$main.c$369$2$2 ==.
;	../src/main.c:369: j--;
;	genMinus
;	genMinusDec
	dec	r2
	cjne	r2,#0xff,00190$
	dec	r3
00190$:
;	genAssign
	mov	dptr,#_myDelay_j_1_1
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	ljmp	00101$
00168$:
;	genAssign
	mov	dptr,#_myDelay_j_1_1
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
;	Peephole 300	removed redundant label 00134$
	C$main.c$372$1$1 ==.
	XG$myDelay$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'cleanBuf'
;------------------------------------------------------------
;mode                      Allocated with name '_cleanBuf_PARM_2'
;id                        Allocated with name '_cleanBuf_id_1_1'
;i                         Allocated with name '_cleanBuf_i_1_1'
;ptr                       Allocated with name '_cleanBuf_ptr_1_1'
;------------------------------------------------------------
	G$cleanBuf$0$0 ==.
	C$main.c$394$1$1 ==.
;	../src/main.c:394: void cleanBuf(int id, int mode) {
;	-----------------------------------------
;	 function cleanBuf
;	-----------------------------------------
_cleanBuf:
;	genReceive
	mov	r2,dph
	mov	a,dpl
	mov	dptr,#_cleanBuf_id_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$399$1$1 ==.
;	../src/main.c:399: ptr = buffer[id];
;	genAssign
	mov	dptr,#_cleanBuf_id_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
;	genLeftShift
;	genLeftShiftLiteral
;	genlshTwo
	mov	r3,a
	mov	ar4,r2
;	Peephole 177.d	removed redundant move
	xch	a,r4
	add	a,acc
	xch	a,r4
	rlc	a
	mov	r5,a
;	genPlus
;	Peephole 236.g	used r4 instead of ar4
	mov	a,r4
	add	a,#_buffer
	mov	dpl,a
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
	addc	a,#(_buffer >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
;	genAssign
	mov	dptr,#_cleanBuf_ptr_1_1
	mov	a,r4
	movx	@dptr,a
	inc	dptr
	mov	a,r5
	movx	@dptr,a
	C$main.c$401$1$1 ==.
;	../src/main.c:401: if (mode != SILENT) {
;	genAssign
	mov	dptr,#_cleanBuf_PARM_2
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
;	genCmpEq
;	gencjne
;	gencjneshort
;	Peephole 241.c	optimized compare
	clr	a
	cjne	r4,#0x01,00116$
	cjne	r5,#0x00,00116$
	inc	a
00116$:
;	Peephole 300	removed redundant label 00117$
;	genIfx
	mov	r4,a
;	Peephole 105	removed redundant mov
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	jnz	00113$
;	Peephole 300	removed redundant label 00118$
	C$main.c$402$2$2 ==.
;	../src/main.c:402: printf_tiny("\n\rCleaning Buffer %d...", id);
;	genIpush
	push	ar4
	push	ar2
	push	ar3
;	genIpush
	mov	a,#__str_2
	push	acc
	mov	a,#(__str_2 >> 8)
	push	acc
;	genCall
	lcall	_printf_tiny
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar4
	C$main.c$404$2$1 ==.
;	../src/main.c:404: for (i=0; i<sizeBuf; i++) {
00113$:
;	genAssign
	mov	dptr,#_cleanBuf_ptr_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genAssign
	mov	r5,#0x00
	mov	r6,#0x00
00105$:
;	genIpush
	push	ar4
;	genAssign
	mov	dptr,#_sizeBuf
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r0,a
;	genAssign
	mov	ar1,r5
	mov	ar4,r6
;	genCmpLt
;	genCmp
	clr	c
	mov	a,r1
	subb	a,r7
	mov	a,r4
	subb	a,r0
	clr	a
	rlc	a
;	genIpop
	pop	ar4
;	genIfx
;	genIfxJump
;	Peephole 108.c	removed ljmp by inverse jump logic
	jz	00108$
;	Peephole 300	removed redundant label 00119$
	C$main.c$405$2$3 ==.
;	../src/main.c:405: ptr[i] = 0;
;	genPlus
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	mov	dpl,a
;	Peephole 236.g	used r6 instead of ar6
	mov	a,r6
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	mov	dph,a
;	genPointerSet
;     genFarPointerSet
;	Peephole 181	changed mov to clr
	clr	a
	movx	@dptr,a
	C$main.c$404$1$1 ==.
;	../src/main.c:404: for (i=0; i<sizeBuf; i++) {
;	genPlus
;     genPlusIncr
	inc	r5
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 243	avoided branch to sjmp
	cjne	r5,#0x00,00105$
	inc	r6
;	Peephole 300	removed redundant label 00120$
	sjmp	00105$
00108$:
	C$main.c$407$1$1 ==.
;	../src/main.c:407: chCount[id] = 0;
;	genAssign
	mov	dptr,#_cleanBuf_id_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
;	genLeftShift
;	genLeftShiftLiteral
;	genlshTwo
	mov	r3,a
;	Peephole 105	removed redundant mov
	xch	a,r2
	add	a,acc
	xch	a,r2
	rlc	a
	mov	r3,a
;	genPlus
;	Peephole 236.g	used r2 instead of ar2
	mov	a,r2
	add	a,#_chCount
	mov	dpl,a
;	Peephole 236.g	used r3 instead of ar3
	mov	a,r3
	addc	a,#(_chCount >> 8)
	mov	dph,a
;	genPointerSet
;     genFarPointerSet
;	Peephole 181	changed mov to clr
	clr	a
	movx	@dptr,a
	inc	dptr
;	Peephole 101	removed redundant mov
	movx	@dptr,a
	C$main.c$408$1$1 ==.
;	../src/main.c:408: if (mode != SILENT) {
;	genIfx
	mov	a,r4
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	jnz	00109$
;	Peephole 300	removed redundant label 00121$
	C$main.c$409$2$4 ==.
;	../src/main.c:409: putstr("Done\r\n");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_3
	mov	b,#0x80
	C$main.c$411$2$1 ==.
	XG$cleanBuf$0$0 ==.
;	Peephole 253.c	replaced lcall with ljmp
	ljmp	_putstr
00109$:
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'initBufs'
;------------------------------------------------------------
;i                         Allocated with name '_initBufs_i_1_1'
;------------------------------------------------------------
	G$initBufs$0$0 ==.
	C$main.c$432$2$1 ==.
;	../src/main.c:432: void initBufs() {
;	-----------------------------------------
;	 function initBufs
;	-----------------------------------------
_initBufs:
	C$main.c$436$1$1 ==.
;	../src/main.c:436: for (i=0; i<numBuf; i++) {
;	genAssign
	mov	r2,#0x00
	mov	r3,#0x00
00101$:
;	genAssign
	mov	dptr,#_numBuf
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
;	genAssign
	mov	ar6,r2
	mov	ar7,r3
;	genCmpLt
;	genCmp
	clr	c
	mov	a,r6
	subb	a,r4
	mov	a,r7
	subb	a,r5
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00105$
;	Peephole 300	removed redundant label 00110$
	C$main.c$437$2$2 ==.
;	../src/main.c:437: cleanBuf(i, SILENT);
;	genAssign
	mov	dptr,#_cleanBuf_PARM_2
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genCall
	mov	dpl,r2
	mov	dph,r3
	push	ar2
	push	ar3
	lcall	_cleanBuf
	pop	ar3
	pop	ar2
	C$main.c$436$1$1 ==.
;	../src/main.c:436: for (i=0; i<numBuf; i++) {
;	genPlus
;     genPlusIncr
;	tail increment optimized (range 8)
	inc	r2
	cjne	r2,#0x00,00101$
	inc	r3
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00101$
00105$:
	C$main.c$439$1$1 ==.
	XG$initBufs$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'calcStats'
;------------------------------------------------------------
;id                        Allocated with name '_calcStats_id_1_1'
;i                         Allocated with name '_calcStats_i_1_1'
;ptr                       Allocated with name '_calcStats_ptr_1_1'
;------------------------------------------------------------
	G$calcStats$0$0 ==.
	C$main.c$461$1$1 ==.
;	../src/main.c:461: void calcStats(int id) {
;	-----------------------------------------
;	 function calcStats
;	-----------------------------------------
_calcStats:
;	genReceive
	mov	r2,dph
	mov	a,dpl
	mov	dptr,#_calcStats_id_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$466$1$1 ==.
;	../src/main.c:466: ptr = buffer[id];
;	genAssign
	mov	dptr,#_calcStats_id_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
;	genLeftShift
;	genLeftShiftLiteral
;	genlshTwo
	mov	r3,a
;	Peephole 105	removed redundant mov
	xch	a,r2
	add	a,acc
	xch	a,r2
	rlc	a
	mov	r3,a
;	genPlus
;	Peephole 236.g	used r2 instead of ar2
	mov	a,r2
	add	a,#_buffer
	mov	dpl,a
;	Peephole 236.g	used r3 instead of ar3
	mov	a,r3
	addc	a,#(_buffer >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	C$main.c$468$2$2 ==.
;	../src/main.c:468: for (i=0; i<STATCNT; i++) {					//initialize stats
;	genAssign
	mov	r4,#0x00
	mov	r5,#0x00
00118$:
;	genCmpLt
;	genCmp
	clr	c
	mov	a,r4
	subb	a,#0x10
	mov	a,r5
	xrl	a,#0x80
	subb	a,#0x80
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00121$
;	Peephole 300	removed redundant label 00149$
	C$main.c$469$2$2 ==.
;	../src/main.c:469: stats[i] = 0;
;	genLeftShift
;	genLeftShiftLiteral
;	genlshTwo
	mov	ar6,r4
	mov	a,r5
	xch	a,r6
	add	a,acc
	xch	a,r6
	rlc	a
	mov	r7,a
;	genPlus
;	Peephole 236.g	used r6 instead of ar6
	mov	a,r6
	add	a,#_stats
	mov	dpl,a
;	Peephole 236.g	used r7 instead of ar7
	mov	a,r7
	addc	a,#(_stats >> 8)
	mov	dph,a
;	genPointerSet
;     genFarPointerSet
;	Peephole 181	changed mov to clr
	clr	a
	movx	@dptr,a
	inc	dptr
;	Peephole 101	removed redundant mov
	movx	@dptr,a
	C$main.c$468$1$1 ==.
;	../src/main.c:468: for (i=0; i<STATCNT; i++) {					//initialize stats
;	genPlus
;     genPlusIncr
;	tail increment optimized (range 6)
	inc	r4
	cjne	r4,#0x00,00118$
	inc	r5
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00118$
00121$:
	C$main.c$472$1$1 ==.
;	../src/main.c:472: for (i=0; i<sizeBuf; i++) {					//count occurrences
;	genAssign
	mov	r4,#0x00
	mov	r5,#0x00
00122$:
;	genAssign
	mov	dptr,#_sizeBuf
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genAssign
	mov	ar0,r4
	mov	ar1,r5
;	genCmpLt
;	genCmp
	clr	c
	mov	a,r0
	subb	a,r6
	mov	a,r1
	subb	a,r7
;	genIfxJump
	jc	00150$
;	Peephole 251.a	replaced ljmp to ret with ret
	ret
00150$:
	C$main.c$473$2$3 ==.
;	../src/main.c:473: switch(ptr[i]) {
;	genPlus
;	Peephole 236.g	used r4 instead of ar4
	mov	a,r4
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	mov	dpl,a
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
	mov	r6,a
;	genCmpEq
;	gencjneshort
	cjne	r6,#0x30,00151$
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00101$
00151$:
;	genCmpEq
;	gencjneshort
	cjne	r6,#0x31,00152$
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00102$
00152$:
;	genCmpEq
;	gencjneshort
	cjne	r6,#0x32,00153$
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00103$
00153$:
;	genCmpEq
;	gencjneshort
	cjne	r6,#0x33,00154$
	ljmp	00104$
00154$:
;	genCmpEq
;	gencjneshort
	cjne	r6,#0x34,00155$
	ljmp	00105$
00155$:
;	genCmpEq
;	gencjneshort
	cjne	r6,#0x35,00156$
	ljmp	00106$
00156$:
;	genCmpEq
;	gencjneshort
	cjne	r6,#0x36,00157$
	ljmp	00107$
00157$:
;	genCmpEq
;	gencjneshort
	cjne	r6,#0x37,00158$
	ljmp	00108$
00158$:
;	genCmpEq
;	gencjneshort
	cjne	r6,#0x38,00159$
	ljmp	00109$
00159$:
;	genCmpEq
;	gencjneshort
	cjne	r6,#0x39,00160$
	ljmp	00110$
00160$:
;	genCmpEq
;	gencjneshort
	cjne	r6,#0x61,00161$
	ljmp	00111$
00161$:
;	genCmpEq
;	gencjneshort
	cjne	r6,#0x65,00162$
	ljmp	00112$
00162$:
;	genCmpEq
;	gencjneshort
	cjne	r6,#0x69,00163$
	ljmp	00113$
00163$:
;	genCmpEq
;	gencjneshort
	cjne	r6,#0x6F,00164$
	ljmp	00114$
00164$:
;	genCmpEq
;	gencjneshort
	cjne	r6,#0x75,00165$
	ljmp	00115$
00165$:
	ljmp	00116$
	C$main.c$474$3$4 ==.
;	../src/main.c:474: case '0': stats[ZERO]++; break;
00101$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#_stats
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genPlus
;     genPlusIncr
	inc	r6
	cjne	r6,#0x00,00166$
	inc	r7
00166$:
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#_stats
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	ljmp	00124$
	C$main.c$475$3$4 ==.
;	../src/main.c:475: case '1': stats[ONE]++; break;
00102$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#(_stats + 0x0002)
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genPlus
;     genPlusIncr
	inc	r6
	cjne	r6,#0x00,00167$
	inc	r7
00167$:
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_stats + 0x0002)
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	ljmp	00124$
	C$main.c$476$3$4 ==.
;	../src/main.c:476: case '2': stats[TWO]++; break;
00103$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#(_stats + 0x0004)
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genPlus
;     genPlusIncr
	inc	r6
	cjne	r6,#0x00,00168$
	inc	r7
00168$:
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_stats + 0x0004)
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	ljmp	00124$
	C$main.c$477$3$4 ==.
;	../src/main.c:477: case '3': stats[THREE]++; break;
00104$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#(_stats + 0x0006)
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genPlus
;     genPlusIncr
	inc	r6
	cjne	r6,#0x00,00169$
	inc	r7
00169$:
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_stats + 0x0006)
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	ljmp	00124$
	C$main.c$478$3$4 ==.
;	../src/main.c:478: case '4': stats[FOUR]++; break;
00105$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#(_stats + 0x0008)
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genPlus
;     genPlusIncr
	inc	r6
	cjne	r6,#0x00,00170$
	inc	r7
00170$:
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_stats + 0x0008)
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	ljmp	00124$
	C$main.c$479$3$4 ==.
;	../src/main.c:479: case '5': stats[FIVE]++; break;
00106$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#(_stats + 0x000a)
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genPlus
;     genPlusIncr
	inc	r6
	cjne	r6,#0x00,00171$
	inc	r7
00171$:
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_stats + 0x000a)
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	ljmp	00124$
	C$main.c$480$3$4 ==.
;	../src/main.c:480: case '6': stats[SIX]++; break;
00107$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#(_stats + 0x000c)
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genPlus
;     genPlusIncr
	inc	r6
	cjne	r6,#0x00,00172$
	inc	r7
00172$:
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_stats + 0x000c)
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	ljmp	00124$
	C$main.c$481$3$4 ==.
;	../src/main.c:481: case '7': stats[SEVEN]++; break;
00108$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#(_stats + 0x000e)
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genPlus
;     genPlusIncr
	inc	r6
	cjne	r6,#0x00,00173$
	inc	r7
00173$:
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_stats + 0x000e)
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	ljmp	00124$
	C$main.c$482$3$4 ==.
;	../src/main.c:482: case '8': stats[EIGHT]++; break;
00109$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#(_stats + 0x0010)
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genPlus
;     genPlusIncr
	inc	r6
	cjne	r6,#0x00,00174$
	inc	r7
00174$:
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_stats + 0x0010)
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	ljmp	00124$
	C$main.c$483$3$4 ==.
;	../src/main.c:483: case '9': stats[NINE]++; break;
00110$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#(_stats + 0x0012)
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genPlus
;     genPlusIncr
	inc	r6
	cjne	r6,#0x00,00175$
	inc	r7
00175$:
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_stats + 0x0012)
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	ljmp	00124$
	C$main.c$484$3$4 ==.
;	../src/main.c:484: case 'a': stats[A]++; break;
00111$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#(_stats + 0x0014)
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genPlus
;     genPlusIncr
	inc	r6
	cjne	r6,#0x00,00176$
	inc	r7
00176$:
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_stats + 0x0014)
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	C$main.c$485$3$4 ==.
;	../src/main.c:485: case 'e': stats[E]++; break;
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00124$
00112$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#(_stats + 0x0016)
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genPlus
;     genPlusIncr
	inc	r6
	cjne	r6,#0x00,00177$
	inc	r7
00177$:
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_stats + 0x0016)
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	C$main.c$486$3$4 ==.
;	../src/main.c:486: case 'i': stats[I]++; break;
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00124$
00113$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#(_stats + 0x0018)
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genPlus
;     genPlusIncr
	inc	r6
	cjne	r6,#0x00,00178$
	inc	r7
00178$:
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_stats + 0x0018)
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	C$main.c$487$3$4 ==.
;	../src/main.c:487: case 'o': stats[O]++; break;
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00124$
00114$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#(_stats + 0x001a)
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genPlus
;     genPlusIncr
	inc	r6
	cjne	r6,#0x00,00179$
	inc	r7
00179$:
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_stats + 0x001a)
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	C$main.c$488$3$4 ==.
;	../src/main.c:488: case 'u': stats[U]++; break;
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00124$
00115$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#(_stats + 0x001c)
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genPlus
;     genPlusIncr
	inc	r6
	cjne	r6,#0x00,00180$
	inc	r7
00180$:
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_stats + 0x001c)
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	C$main.c$489$3$4 ==.
;	../src/main.c:489: default: stats[GARBAGE]++;
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00124$
00116$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#(_stats + 0x001e)
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genPlus
;     genPlusIncr
	inc	r6
	cjne	r6,#0x00,00181$
	inc	r7
00181$:
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_stats + 0x001e)
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	C$main.c$490$2$3 ==.
;	../src/main.c:490: }
00124$:
	C$main.c$472$1$1 ==.
;	../src/main.c:472: for (i=0; i<sizeBuf; i++) {					//count occurrences
;	genPlus
;     genPlusIncr
	inc	r4
	cjne	r4,#0x00,00182$
	inc	r5
00182$:
	C$main.c$492$1$1 ==.
	XG$calcStats$0$0 ==.
	ljmp	00122$
;	Peephole 259.b	removed redundant label 00126$ and ret
;
;------------------------------------------------------------
;Allocation info for local variables in function 'dispAll'
;------------------------------------------------------------
;sloc0                     Allocated with name '_dispAll_sloc0_1_0'
;sloc1                     Allocated with name '_dispAll_sloc1_1_0'
;sloc2                     Allocated with name '_dispAll_sloc2_1_0'
;sloc3                     Allocated with name '_dispAll_sloc3_1_0'
;id                        Allocated with name '_dispAll_PARM_2'
;mode                      Allocated with name '_dispAll_mode_1_1'
;j                         Allocated with name '_dispAll_j_1_1'
;idx                       Allocated with name '_dispAll_idx_1_1'
;modeLim                   Allocated with name '_dispAll_modeLim_1_1'
;tmpAddr                   Allocated with name '_dispAll_tmpAddr_1_1'
;moreDisp                  Allocated with name '_dispAll_moreDisp_1_1'
;ptr                       Allocated with name '_dispAll_ptr_1_1'
;------------------------------------------------------------
	G$dispAll$0$0 ==.
	C$main.c$513$1$1 ==.
;	../src/main.c:513: void dispAll(int mode, int id) {
;	-----------------------------------------
;	 function dispAll
;	-----------------------------------------
_dispAll:
;	genReceive
	mov	r2,dph
	mov	a,dpl
	mov	dptr,#_dispAll_mode_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$516$1$1 ==.
;	../src/main.c:516: int idx = 0;
;	genAssign
	mov	dptr,#_dispAll_idx_1_1
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
	C$main.c$517$1$1 ==.
;	../src/main.c:517: int modeLim = LIMASCII;
;	genAssign
	mov	dptr,#_dispAll_modeLim_1_1
	mov	a,#0x32
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	C$main.c$522$1$1 ==.
;	../src/main.c:522: ptr = buffer[id];
;	genAssign
	mov	dptr,#_dispAll_PARM_2
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
;	genLeftShift
;	genLeftShiftLiteral
;	genlshTwo
	mov	r3,a
	mov	ar4,r2
;	Peephole 177.d	removed redundant move
	xch	a,r4
	add	a,acc
	xch	a,r4
	rlc	a
	mov	r5,a
;	genPlus
;	Peephole 236.g	used r4 instead of ar4
	mov	a,r4
	add	a,#_buffer
	mov	dpl,a
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
	addc	a,#(_buffer >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genAssign
	mov	dptr,#_dispAll_ptr_1_1
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	C$main.c$523$1$1 ==.
;	../src/main.c:523: tmpAddr = (unsigned int)buffer[id];
;	genAssign
;	genCast
	mov	dptr,#_dispAll_tmpAddr_1_1
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	C$main.c$525$1$1 ==.
;	../src/main.c:525: moreDisp = chCount[id];			//							  only filled part
;	genPlus
;	Peephole 236.g	used r4 instead of ar4
	mov	a,r4
	add	a,#_chCount
	mov	dpl,a
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
	addc	a,#(_chCount >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
;	genAssign
	mov	dptr,#_dispAll_moreDisp_1_1
	mov	a,r4
	movx	@dptr,a
	inc	dptr
	mov	a,r5
	movx	@dptr,a
	C$main.c$527$1$1 ==.
;	../src/main.c:527: printf_tiny("Displaying Buffer %d\n\r", id);	
;	genIpush
	push	ar2
	push	ar3
;	genIpush
	mov	a,#__str_4
	push	acc
	mov	a,#(__str_4 >> 8)
	push	acc
;	genCall
	lcall	_printf_tiny
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	C$main.c$528$1$1 ==.
;	../src/main.c:528: if(mode == DISP_HEX) {
;	genAssign
	mov	dptr,#_dispAll_mode_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.a	optimized misc jump sequence
	cjne	r2,#0x09,00130$
	cjne	r3,#0x00,00130$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00134$
;	Peephole 300	removed redundant label 00135$
	C$main.c$529$2$2 ==.
;	../src/main.c:529: modeLim = LIMHEX;
;	genAssign
	mov	dptr,#_dispAll_modeLim_1_1
	mov	a,#0x10
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	C$main.c$530$2$2 ==.
;	../src/main.c:530: putstr("\n\r Address |  +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_5
	mov	b,#0x80
	lcall	_putstr
	C$main.c$531$2$2 ==.
;	../src/main.c:531: putstr("\n\r--------------------------------------------------------------");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_6
	mov	b,#0x80
	lcall	_putstr
	C$main.c$534$1$1 ==.
;	../src/main.c:534: while(moreDisp>0) {
00130$:
;	genAssign
	mov	dptr,#_dispAll_mode_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genCmpEq
;	gencjne
;	gencjneshort
;	Peephole 241.c	optimized compare
	clr	a
	cjne	r2,#0x09,00136$
	cjne	r3,#0x00,00136$
	inc	a
00136$:
;	Peephole 300	removed redundant label 00137$
	mov	r4,a
;	genAssign
	mov	dptr,#_dispAll_ptr_1_1
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
;	genCmpEq
;	gencjne
;	gencjneshort
;	Peephole 241.c	optimized compare
	clr	a
	cjne	r2,#0x0A,00138$
	cjne	r3,#0x00,00138$
	inc	a
00138$:
;	Peephole 300	removed redundant label 00139$
	mov	r2,a
;	genAssign
	mov	ar3,r5
	mov	ar7,r6
;	genAssign
	mov	dptr,#_dispAll_modeLim_1_1
	movx	a,@dptr
	mov	r0,a
	inc	dptr
	movx	a,@dptr
	mov	r1,a
;	genAssign
	mov	dptr,#_dispAll_tmpAddr_1_1
	movx	a,@dptr
	mov	_dispAll_sloc0_1_0,a
	inc	dptr
	movx	a,@dptr
	mov	(_dispAll_sloc0_1_0 + 1),a
00112$:
;	genIpush
	push	ar3
	push	ar7
;	genAssign
	mov	dptr,#_dispAll_moreDisp_1_1
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genCmpGt
;	genCmp
	clr	c
;	Peephole 181	changed mov to clr
	clr	a
	subb	a,r3
;	Peephole 159	avoided xrl during execution
	mov	a,#(0x00 ^ 0x80)
	mov	b,r7
	xrl	b,#0x80
	subb	a,b
;	genIpop
;	genIfx
;	genIfxJump
;	Peephole 129.c	optimized condition
	pop	ar7
	pop	ar3
	jc	00140$
	ljmp	00114$
00140$:
	C$main.c$535$2$3 ==.
;	../src/main.c:535: if(mode == DISP_HEX) 
;	genIfx
	mov	a,r4
;	genIfxJump
;	Peephole 108.c	removed ljmp by inverse jump logic
	jz	00129$
;	Peephole 300	removed redundant label 00141$
	C$main.c$536$2$3 ==.
;	../src/main.c:536: printf("\n\r 0x%04X  |  ", tmpAddr);
;	genIpush
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	push	ar7
	push	ar0
	push	ar1
	push	_dispAll_sloc0_1_0
	push	(_dispAll_sloc0_1_0 + 1)
;	genIpush
	mov	a,#__str_7
	push	acc
	mov	a,#(__str_7 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	pop	ar1
	pop	ar0
	pop	ar7
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
	C$main.c$537$1$1 ==.
;	../src/main.c:537: for (j=0; (j<modeLim) && moreDisp; j++) {
00129$:
;	genAssign
	mov	dptr,#_dispAll_moreDisp_1_1
	movx	a,@dptr
	mov	_dispAll_sloc1_1_0,a
	inc	dptr
	movx	a,@dptr
	mov	(_dispAll_sloc1_1_0 + 1),a
;	genAssign
	mov	dptr,#_dispAll_idx_1_1
	movx	a,@dptr
	mov	_dispAll_sloc2_1_0,a
	inc	dptr
	movx	a,@dptr
	mov	(_dispAll_sloc2_1_0 + 1),a
;	genAssign
	clr	a
	mov	_dispAll_sloc3_1_0,a
	mov	(_dispAll_sloc3_1_0 + 1),a
00116$:
;	genCmpLt
;	genCmp
	clr	c
	mov	a,_dispAll_sloc3_1_0
	subb	a,r0
	mov	a,(_dispAll_sloc3_1_0 + 1)
	xrl	a,#0x80
	mov	b,r1
	xrl	b,#0x80
	subb	a,b
;	genIfxJump
	jc	00142$
	ljmp	00132$
00142$:
;	genIfx
	mov	a,_dispAll_sloc1_1_0
	orl	a,(_dispAll_sloc1_1_0 + 1)
;	genIfxJump
	jnz	00143$
	ljmp	00132$
00143$:
	C$main.c$538$3$4 ==.
;	../src/main.c:538: if(mode == DISP_HEX) 
;	genIfx
	mov	a,r4
;	genIfxJump
;	Peephole 108.c	removed ljmp by inverse jump logic
	jz	00108$
;	Peephole 300	removed redundant label 00144$
	C$main.c$539$1$1 ==.
;	../src/main.c:539: printf("%02X ", ptr[idx]);
;	genIpush
	push	ar0
	push	ar1
;	genPlus
	mov	a,_dispAll_sloc2_1_0
;	Peephole 236.a	used r3 instead of ar3
	add	a,r3
	mov	dpl,a
	mov	a,(_dispAll_sloc2_1_0 + 1)
;	Peephole 236.b	used r7 instead of ar7
	addc	a,r7
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
;	genCast
	mov	r0,a
;	Peephole 105	removed redundant mov
	rlc	a
	subb	a,acc
	mov	r1,a
;	genIpush
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	push	ar7
	push	ar0
	push	ar1
	push	ar0
	push	ar1
;	genIpush
	mov	a,#__str_8
	push	acc
	mov	a,#(__str_8 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	pop	ar1
	pop	ar0
	pop	ar7
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
;	genIpop
	pop	ar1
	pop	ar0
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00109$
00108$:
	C$main.c$540$3$4 ==.
;	../src/main.c:540: else if (mode == DISP_ASCII) 
;	genIfx
	mov	a,r2
;	genIfxJump
;	Peephole 108.c	removed ljmp by inverse jump logic
	jz	00109$
;	Peephole 300	removed redundant label 00145$
	C$main.c$541$1$1 ==.
;	../src/main.c:541: printf("%c", ptr[idx]);
;	genIpush
	push	ar3
	push	ar7
;	genPlus
	mov	a,_dispAll_sloc2_1_0
;	Peephole 236.a	used r5 instead of ar5
	add	a,r5
	mov	dpl,a
	mov	a,(_dispAll_sloc2_1_0 + 1)
;	Peephole 236.b	used r6 instead of ar6
	addc	a,r6
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
;	genCast
	mov	r3,a
;	Peephole 105	removed redundant mov
	rlc	a
	subb	a,acc
	mov	r7,a
;	genIpush
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	push	ar7
	push	ar0
	push	ar1
	push	ar3
	push	ar7
;	genIpush
	mov	a,#__str_9
	push	acc
	mov	a,#(__str_9 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	pop	ar1
	pop	ar0
	pop	ar7
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
	C$main.c$551$1$1 ==.
;	../src/main.c:551: ptr = buffer[id];
;	genIpop
	pop	ar7
	pop	ar3
	C$main.c$541$3$4 ==.
;	../src/main.c:541: printf("%c", ptr[idx]);
00109$:
	C$main.c$542$3$4 ==.
;	../src/main.c:542: moreDisp--;
;	genMinus
;	genMinusDec
	dec	_dispAll_sloc1_1_0
	mov	a,#0xff
	cjne	a,_dispAll_sloc1_1_0,00146$
	dec	(_dispAll_sloc1_1_0 + 1)
00146$:
	C$main.c$543$3$4 ==.
;	../src/main.c:543: idx++;
;	genPlus
;     genPlusIncr
	inc	_dispAll_sloc2_1_0
	clr	a
	cjne	a,_dispAll_sloc2_1_0,00147$
	inc	(_dispAll_sloc2_1_0 + 1)
00147$:
	C$main.c$537$2$3 ==.
;	../src/main.c:537: for (j=0; (j<modeLim) && moreDisp; j++) {
;	genPlus
;     genPlusIncr
	inc	_dispAll_sloc3_1_0
	clr	a
	cjne	a,_dispAll_sloc3_1_0,00148$
	inc	(_dispAll_sloc3_1_0 + 1)
00148$:
	ljmp	00116$
00132$:
;	genAssign
	mov	dptr,#_dispAll_moreDisp_1_1
	mov	a,_dispAll_sloc1_1_0
	movx	@dptr,a
	inc	dptr
	mov	a,(_dispAll_sloc1_1_0 + 1)
	movx	@dptr,a
;	genAssign
	mov	dptr,#_dispAll_idx_1_1
	mov	a,_dispAll_sloc2_1_0
	movx	@dptr,a
	inc	dptr
	mov	a,(_dispAll_sloc2_1_0 + 1)
	movx	@dptr,a
	C$main.c$545$2$3 ==.
;	../src/main.c:545: tmpAddr +=LIMHEX;
;	genPlus
;     genPlusIncr
	mov	a,#0x10
	add	a,_dispAll_sloc0_1_0
	mov	_dispAll_sloc0_1_0,a
;	Peephole 181	changed mov to clr
	clr	a
	addc	a,(_dispAll_sloc0_1_0 + 1)
	mov	(_dispAll_sloc0_1_0 + 1),a
	C$main.c$546$2$3 ==.
;	../src/main.c:546: if (mode == DISP_ASCII) 
;	genIfx
	mov	a,r2
;	genIfxJump
	jnz	00149$
	ljmp	00112$
00149$:
	C$main.c$547$2$3 ==.
;	../src/main.c:547: putstr("\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_10
	mov	b,#0x80
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	push	ar7
	push	ar0
	push	ar1
	lcall	_putstr
	pop	ar1
	pop	ar0
	pop	ar7
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
	ljmp	00112$
00114$:
	C$main.c$550$1$1 ==.
;	../src/main.c:550: putstr("\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_10
	mov	b,#0x80
	C$main.c$551$1$1 ==.
;	../src/main.c:551: ptr = buffer[id];
	C$main.c$591$1$1 ==.
	XG$dispAll$0$0 ==.
;	Peephole 253.b	replaced lcall/ret with ljmp
	ljmp	_putstr
;
;------------------------------------------------------------
;Allocation info for local variables in function 'processKey'
;------------------------------------------------------------
;ch                        Allocated with name '_processKey_ch_1_1'
;------------------------------------------------------------
	G$processKey$0$0 ==.
	C$main.c$620$1$1 ==.
;	../src/main.c:620: int processKey() {
;	-----------------------------------------
;	 function processKey
;	-----------------------------------------
_processKey:
	C$main.c$624$1$1 ==.
;	../src/main.c:624: ch = getchar();
;	genCall
	lcall	_getchar
	C$main.c$625$1$1 ==.
;	../src/main.c:625: putchar(ch);
;	genCall
	mov  r2,dpl
;	Peephole 177.a	removed redundant mov
	push	ar2
	lcall	_putchar
	pop	ar2
	C$main.c$628$1$1 ==.
;	../src/main.c:628: if (ch == '?') return PK_QFLAG;
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.b	optimized misc jump sequence
	cjne	r2,#0x3F,00102$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00116$
;	Peephole 300	removed redundant label 00117$
;	genRet
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x0006
;	Peephole 251.a	replaced ljmp to ret with ret
	ret
00102$:
	C$main.c$629$1$1 ==.
;	../src/main.c:629: if (ch == '/') return PK_SFLAG;
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.b	optimized misc jump sequence
	cjne	r2,#0x2F,00104$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00118$
;	Peephole 300	removed redundant label 00119$
;	genRet
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x0007
;	Peephole 251.a	replaced ljmp to ret with ret
	ret
00104$:
	C$main.c$630$1$1 ==.
;	../src/main.c:630: if (ch < 0x20 || ch > 0x7E) return PK_EINPRINT;
;	genAssign
	mov	ar3,r2
;	genCmpLt
;	genCmp
	cjne	r3,#0x20,00120$
00120$:
;	genIfxJump
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 160.a	removed sjmp by inverse jump logic
	jc	00105$
;	Peephole 300	removed redundant label 00121$
;	genAssign
	mov	ar3,r2
;	genCmpGt
;	genCmp
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
;	Peephole 132.b	optimized genCmpGt by inverse logic (acc differs)
	mov	a,r3
	add	a,#0xff - 0x7E
	jnc	00106$
;	Peephole 300	removed redundant label 00122$
00105$:
;	genRet
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x0005
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 251.b	replaced sjmp to ret with ret
	ret
00106$:
	C$main.c$633$1$1 ==.
;	../src/main.c:633: if (chCount[curBuf]>sizeBuf) {
;	genAssign
	mov	dptr,#_curBuf
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
;	genLeftShift
;	genLeftShiftLiteral
;	genlshTwo
	mov	r4,a
;	Peephole 105	removed redundant mov
	xch	a,r3
	add	a,acc
	xch	a,r3
	rlc	a
	mov	r4,a
;	genPlus
;	Peephole 236.g	used r3 instead of ar3
	mov	a,r3
	add	a,#_chCount
	mov	r3,a
;	Peephole 236.g	used r4 instead of ar4
	mov	a,r4
	addc	a,#(_chCount >> 8)
	mov	r4,a
;	genPointerGet
;	genFarPointerGet
	mov	dpl,r3
	mov	dph,r4
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
;	genAssign
	mov	dptr,#_sizeBuf
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r0,a
;	genCmpGt
;	genCmp
	clr	c
	mov	a,r7
	subb	a,r5
	mov	a,r0
	subb	a,r6
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00109$
;	Peephole 300	removed redundant label 00123$
	C$main.c$634$2$2 ==.
;	../src/main.c:634: return PK_EINSTOR;
;	genRet
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x0008
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 251.b	replaced sjmp to ret with ret
	ret
00109$:
	C$main.c$636$1$1 ==.
;	../src/main.c:636: bufPtr[chCount[curBuf]] = ch;
;	genAssign
	mov	dptr,#_bufPtr
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r0,a
;	genPlus
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
;	Peephole 236.a	used r7 instead of ar7
	add	a,r7
	mov	dpl,a
;	Peephole 236.g	used r6 instead of ar6
	mov	a,r6
;	Peephole 236.b	used r0 instead of ar0
	addc	a,r0
	mov	dph,a
;	genPointerSet
;     genFarPointerSet
	mov	a,r2
	movx	@dptr,a
	C$main.c$637$1$1 ==.
;	../src/main.c:637: chCount[curBuf]++;
;	genPlus
;     genPlusIncr
	inc	r5
	cjne	r5,#0x00,00124$
	inc	r6
00124$:
;	genPointerSet
;     genFarPointerSet
	mov	dpl,r3
	mov	dph,r4
	mov	a,r5
	movx	@dptr,a
	inc	dptr
	mov	a,r6
	movx	@dptr,a
	C$main.c$640$1$1 ==.
;	../src/main.c:640: return 0;
;	genRet
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x0000
;	Peephole 300	removed redundant label 00110$
	C$main.c$641$1$1 ==.
	XG$processKey$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'processQflag'
;------------------------------------------------------------
;j                         Allocated with name '_processQflag_j_1_1'
;------------------------------------------------------------
	G$processQflag$0$0 ==.
	C$main.c$665$1$1 ==.
;	../src/main.c:665: void processQflag() {
;	-----------------------------------------
;	 function processQflag
;	-----------------------------------------
_processQflag:
	C$main.c$669$1$1 ==.
;	../src/main.c:669: clearScr();
;	genCall
	lcall	_clearScr
	C$main.c$670$1$1 ==.
;	../src/main.c:670: calcStats(curBuf);					//this will calculate occurences of vowels and numbers
;	genAssign
	mov	dptr,#_curBuf
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genCall
	mov	dpl,r2
	mov	dph,r3
	lcall	_calcStats
	C$main.c$673$1$1 ==.
;	../src/main.c:673: for(j=0; j<numBuf; j++) {
;	genAssign
	mov	r2,#0x00
	mov	r3,#0x00
00101$:
;	genAssign
	mov	dptr,#_numBuf
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
;	genAssign
	mov	ar6,r2
	mov	ar7,r3
;	genCmpLt
;	genCmp
	clr	c
	mov	a,r6
	subb	a,r4
	mov	a,r7
	subb	a,r5
;	genIfxJump
	jc	00124$
	ljmp	00104$
00124$:
	C$main.c$674$2$2 ==.
;	../src/main.c:674: printf_tiny("\n\rBUFFER %d: INFORMATION\n\r", j);
;	genIpush
	push	ar2
	push	ar3
	push	ar2
	push	ar3
;	genIpush
	mov	a,#__str_11
	push	acc
	mov	a,#(__str_11 >> 8)
	push	acc
;	genCall
	lcall	_printf_tiny
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar3
	pop	ar2
	C$main.c$675$2$2 ==.
;	../src/main.c:675: printf("\tStart Address: 0x%04X\n\r", (unsigned int)buffer[j]);
;	genLeftShift
;	genLeftShiftLiteral
;	genlshTwo
	mov	ar4,r2
	mov	a,r3
	xch	a,r4
	add	a,acc
	xch	a,r4
	rlc	a
	mov	r5,a
;	genPlus
;	Peephole 236.g	used r4 instead of ar4
	mov	a,r4
	add	a,#_buffer
	mov	dpl,a
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
	addc	a,#(_buffer >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genCast
;	genIpush
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	push	ar7
;	genIpush
	mov	a,#__str_12
	push	acc
	mov	a,#(__str_12 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
	C$main.c$676$2$2 ==.
;	../src/main.c:676: printf_tiny("\tAllocated Memory: %d bytes\n\r", sizeBuf);
;	genIpush
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	mov	dptr,#_sizeBuf
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;	genIpush
	mov	a,#__str_13
	push	acc
	mov	a,#(__str_13 >> 8)
	push	acc
;	genCall
	lcall	_printf_tiny
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
	C$main.c$677$2$2 ==.
;	../src/main.c:677: printf_tiny("\tPrintable characters: %d\n\r", chCount[j]);
;	genPlus
;	Peephole 236.g	used r4 instead of ar4
	mov	a,r4
	add	a,#_chCount
	mov	dpl,a
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
	addc	a,#(_chCount >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
;	genIpush
	push	ar2
	push	ar3
	push	ar4
	push	ar5
;	genIpush
	mov	a,#__str_14
	push	acc
	mov	a,#(__str_14 >> 8)
	push	acc
;	genCall
	lcall	_printf_tiny
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar3
	pop	ar2
	C$main.c$678$2$2 ==.
;	../src/main.c:678: putstr("\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_10
	mov	b,#0x80
	push	ar2
	push	ar3
	lcall	_putstr
	pop	ar3
	pop	ar2
	C$main.c$673$1$1 ==.
;	../src/main.c:673: for(j=0; j<numBuf; j++) {
;	genPlus
;     genPlusIncr
	inc	r2
	cjne	r2,#0x00,00125$
	inc	r3
00125$:
	ljmp	00101$
00104$:
	C$main.c$682$1$1 ==.
;	../src/main.c:682: printf_tiny("\n\r\n\r******* BUFFER %d: STATISTICS *******\n\r\n\r", curBuf);
;	genIpush
	mov	dptr,#_curBuf
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;	genIpush
	mov	a,#__str_15
	push	acc
	mov	a,#(__str_15 >> 8)
	push	acc
;	genCall
	lcall	_printf_tiny
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	C$main.c$691$1$1 ==.
;	../src/main.c:691: putstr("VOWELS:\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_16
	mov	b,#0x80
	lcall	_putstr
	C$main.c$692$1$1 ==.
;	../src/main.c:692: putstr("\tA\tE\tI\tO\tU\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_17
	mov	b,#0x80
	lcall	_putstr
	C$main.c$693$1$1 ==.
;	../src/main.c:693: for(j=10; j<15; j++) {
;	genAssign
	mov	r2,#0x0A
	mov	r3,#0x00
00105$:
;	genCmpLt
;	genCmp
	clr	c
	mov	a,r2
	subb	a,#0x0F
	mov	a,r3
	xrl	a,#0x80
	subb	a,#0x80
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00108$
;	Peephole 300	removed redundant label 00126$
	C$main.c$694$2$3 ==.
;	../src/main.c:694: printf("\t%d ", stats[j]);
;	genLeftShift
;	genLeftShiftLiteral
;	genlshTwo
	mov	ar4,r2
	mov	a,r3
	xch	a,r4
	add	a,acc
	xch	a,r4
	rlc	a
	mov	r5,a
;	genPlus
;	Peephole 236.g	used r4 instead of ar4
	mov	a,r4
	add	a,#_stats
	mov	dpl,a
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
	addc	a,#(_stats >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
;	genIpush
	push	ar2
	push	ar3
	push	ar4
	push	ar5
;	genIpush
	mov	a,#__str_18
	push	acc
	mov	a,#(__str_18 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	pop	ar3
	pop	ar2
	C$main.c$693$1$1 ==.
;	../src/main.c:693: for(j=10; j<15; j++) {
;	genPlus
;     genPlusIncr
	inc	r2
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 243	avoided branch to sjmp
	cjne	r2,#0x00,00105$
	inc	r3
;	Peephole 300	removed redundant label 00127$
	sjmp	00105$
00108$:
	C$main.c$696$1$1 ==.
;	../src/main.c:696: putstr("\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_10
	mov	b,#0x80
	lcall	_putstr
	C$main.c$697$1$1 ==.
;	../src/main.c:697: putstr("\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_10
	mov	b,#0x80
	lcall	_putstr
	C$main.c$699$1$1 ==.
;	../src/main.c:699: putstr("NUMBERS:\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_19
	mov	b,#0x80
	lcall	_putstr
	C$main.c$700$1$1 ==.
;	../src/main.c:700: putstr("\t0\t1\t2\t3\t4\t5\t6\t7\t8\t9\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_20
	mov	b,#0x80
	lcall	_putstr
	C$main.c$701$1$1 ==.
;	../src/main.c:701: for(j=0; j<10; j++) {
;	genAssign
	mov	r2,#0x00
	mov	r3,#0x00
00109$:
;	genCmpLt
;	genCmp
	clr	c
	mov	a,r2
	subb	a,#0x0A
	mov	a,r3
	xrl	a,#0x80
	subb	a,#0x80
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00112$
;	Peephole 300	removed redundant label 00128$
	C$main.c$702$2$4 ==.
;	../src/main.c:702: printf("\t%d", stats[j]);
;	genLeftShift
;	genLeftShiftLiteral
;	genlshTwo
	mov	ar4,r2
	mov	a,r3
	xch	a,r4
	add	a,acc
	xch	a,r4
	rlc	a
	mov	r5,a
;	genPlus
;	Peephole 236.g	used r4 instead of ar4
	mov	a,r4
	add	a,#_stats
	mov	dpl,a
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
	addc	a,#(_stats >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
;	genIpush
	push	ar2
	push	ar3
	push	ar4
	push	ar5
;	genIpush
	mov	a,#__str_21
	push	acc
	mov	a,#(__str_21 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	pop	ar3
	pop	ar2
	C$main.c$701$1$1 ==.
;	../src/main.c:701: for(j=0; j<10; j++) {
;	genPlus
;     genPlusIncr
	inc	r2
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 243	avoided branch to sjmp
	cjne	r2,#0x00,00109$
	inc	r3
;	Peephole 300	removed redundant label 00129$
	sjmp	00109$
00112$:
	C$main.c$704$1$1 ==.
;	../src/main.c:704: putstr("\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_10
	mov	b,#0x80
	lcall	_putstr
	C$main.c$705$1$1 ==.
;	../src/main.c:705: putstr("\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_10
	mov	b,#0x80
	lcall	_putstr
	C$main.c$707$1$1 ==.
;	../src/main.c:707: dispAll(DISP_ASCII, curBuf);
;	genAssign
	mov	dptr,#_curBuf
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genAssign
	mov	dptr,#_dispAll_PARM_2
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
;	genCall
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x000A
	lcall	_dispAll
	C$main.c$710$1$1 ==.
;	../src/main.c:710: cleanBuf(curBuf, VERBOSE);
;	genAssign
	mov	dptr,#_curBuf
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genAssign
	mov	dptr,#_cleanBuf_PARM_2
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
;	genCall
	mov	dpl,r2
	mov	dph,r3
	lcall	_cleanBuf
	C$main.c$711$1$1 ==.
;	../src/main.c:711: printf_tiny("\n\r\n\r\n\rBuffer %d > ", curBuf);
;	genIpush
	mov	dptr,#_curBuf
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;	genIpush
	mov	a,#__str_22
	push	acc
	mov	a,#(__str_22 >> 8)
	push	acc
;	genCall
	lcall	_printf_tiny
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
;	Peephole 300	removed redundant label 00113$
	C$main.c$712$1$1 ==.
	XG$processQflag$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'processSflag'
;------------------------------------------------------------
;------------------------------------------------------------
	G$processSflag$0$0 ==.
	C$main.c$734$1$1 ==.
;	../src/main.c:734: void processSflag() {
;	-----------------------------------------
;	 function processSflag
;	-----------------------------------------
_processSflag:
	C$main.c$736$1$1 ==.
;	../src/main.c:736: clearScr();
;	genCall
	lcall	_clearScr
	C$main.c$737$1$1 ==.
;	../src/main.c:737: printf_tiny("Current Buffer %d \n\r", curBuf);
;	genIpush
	mov	dptr,#_curBuf
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;	genIpush
	mov	a,#__str_23
	push	acc
	mov	a,#(__str_23 >> 8)
	push	acc
;	genCall
	lcall	_printf_tiny
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	C$main.c$738$1$1 ==.
;	../src/main.c:738: dispAll(DISP_HEX, curBuf);
;	genAssign
	mov	dptr,#_curBuf
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genAssign
	mov	dptr,#_dispAll_PARM_2
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
;	genCall
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x0009
	lcall	_dispAll
	C$main.c$741$1$1 ==.
;	../src/main.c:741: curBuf = ((++curBuf)%numBuf);								//for buffer rotation
;	genPlus
	mov	dptr,#_curBuf
	movx	a,@dptr
	add	a,#0x01
	movx	@dptr,a
	inc	dptr
	movx	a,@dptr
	addc	a,#0x00
	movx	@dptr,a
;	genAssign
	mov	dptr,#_numBuf
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genAssign
	mov	dptr,#_curBuf
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
;	genAssign
	mov	dptr,#__moduint_PARM_2
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
;	genCall
	mov	dpl,r4
	mov	dph,r5
	lcall	__moduint
	mov	a,dpl
	mov	b,dph
;	genAssign
	mov	dptr,#_curBuf
	movx	@dptr,a
	inc	dptr
	mov	a,b
	movx	@dptr,a
	C$main.c$742$1$1 ==.
;	../src/main.c:742: printf_tiny("\n\r\n\r\n\rBuffer %d > ", curBuf);
;	genIpush
	mov	dptr,#_curBuf
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;	genIpush
	mov	a,#__str_22
	push	acc
	mov	a,#(__str_22 >> 8)
	push	acc
;	genCall
	lcall	_printf_tiny
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
;	Peephole 300	removed redundant label 00101$
	C$main.c$743$1$1 ==.
	XG$processSflag$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'main'
;------------------------------------------------------------
;rc                        Allocated with name '_main_rc_1_1'
;c_numBuf                  Allocated with name '_main_c_numBuf_1_1'
;c_sizeBuf                 Allocated with name '_main_c_sizeBuf_1_1'
;i                         Allocated with name '_main_i_1_1'
;j                         Allocated with name '_main_j_1_1'
;allocOK                   Allocated with name '_main_allocOK_1_1'
;------------------------------------------------------------
	G$main$0$0 ==.
	C$main.c$747$1$1 ==.
;	../src/main.c:747: void main() {
;	-----------------------------------------
;	 function main
;	-----------------------------------------
_main:
	C$main.c$751$1$1 ==.
;	../src/main.c:751: unsigned char c_numBuf[2] = {0}; 							//1 to 5 plus cr/lf
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#_main_c_numBuf_1_1
;	Peephole 181	changed mov to clr
	C$main.c$752$1$1 ==.
;	../src/main.c:752: unsigned char c_sizeBuf[5] = {0}; 							//20 to 1000 plus cr/lf
;	genPointerSet
;     genFarPointerSet
;	Peephole 181	changed mov to clr
;	Peephole 219.a	removed redundant clear
	clr	a
	movx	@dptr,a
	mov	dptr,#_main_c_sizeBuf_1_1
	movx	@dptr,a
	C$main.c$756$1$1 ==.
;	../src/main.c:756: volatile unsigned int allocOK = TRUE;
;	genAssign
	mov	dptr,#_main_allocOK_1_1
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	C$main.c$758$1$1 ==.
;	../src/main.c:758: init_dynamic_memory((MEMHEADER xdata *)heap, HEAP_SIZE);
;	genAssign
	mov	dptr,#_init_dynamic_memory_PARM_2
	mov	a,#0x08
	movx	@dptr,a
	inc	dptr
	mov	a,#0x07
	movx	@dptr,a
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#_heap
	lcall	_init_dynamic_memory
	C$main.c$759$1$1 ==.
;	../src/main.c:759: serialInit(0xFF); //0xFF gives Baud Rate 57600
;	genCall
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x00FF
	lcall	_serialInit
	C$main.c$760$1$1 ==.
;	../src/main.c:760: initAll();
;	genCall
	lcall	_initAll
	C$main.c$761$1$1 ==.
;	../src/main.c:761: clearScr();
;	genCall
	lcall	_clearScr
	C$main.c$763$3$4 ==.
;	../src/main.c:763: do {
00123$:
	C$main.c$764$2$2 ==.
;	../src/main.c:764: if (allocOK == FALSE) {		
;	genAssign
	mov	dptr,#_main_allocOK_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
;	genIfx
	mov	r3,a
;	Peephole 135	removed redundant mov
	orl	a,r2
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	jnz	00102$
;	Peephole 300	removed redundant label 00167$
	C$main.c$765$3$3 ==.
;	../src/main.c:765: myDelay(1);											//insert delay to allow user to see invalid i/p message
;	genCall
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x0001
	lcall	_myDelay
00102$:
	C$main.c$767$2$2 ==.
;	../src/main.c:767: initAll();
;	genCall
	lcall	_initAll
	C$main.c$768$2$2 ==.
;	../src/main.c:768: clearScr();
;	genCall
	lcall	_clearScr
	C$main.c$769$2$2 ==.
;	../src/main.c:769: putstr("Welcome!\n\r\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_24
	mov	b,#0x80
	lcall	_putstr
	C$main.c$770$2$2 ==.
;	../src/main.c:770: allocOK = TRUE;
;	genAssign
	mov	dptr,#_main_allocOK_1_1
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	C$main.c$772$2$2 ==.
;	../src/main.c:772: if (allocOK == TRUE) {
;	genAssign
	mov	dptr,#_main_allocOK_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.a	optimized misc jump sequence
	cjne	r2,#0x01,00107$
	cjne	r3,#0x00,00107$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00168$
;	Peephole 300	removed redundant label 00169$
	C$main.c$773$3$4 ==.
;	../src/main.c:773: putstr("Enter number of buffers to allocate (1-5): ");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_25
	mov	b,#0x80
	lcall	_putstr
	C$main.c$774$3$4 ==.
;	../src/main.c:774: rc = getstr(c_numBuf);
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#_main_c_numBuf_1_1
	mov	b,#0x00
	lcall	_getstr
	C$main.c$775$3$4 ==.
;	../src/main.c:775: numBuf = atoi(c_numBuf);
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#_main_c_numBuf_1_1
	mov	b,#0x00
	lcall	_atoi
	mov	r2,dpl
	mov	r3,dph
;	genAssign
	mov	dptr,#_numBuf
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	C$main.c$776$3$4 ==.
;	../src/main.c:776: if (numBuf > MAXBUFS || numBuf < 1) {
;	genAssign
	mov	ar4,r2
	mov	ar5,r3
;	genCmpGt
;	genCmp
	clr	c
	mov	a,#0x05
	subb	a,r4
;	Peephole 181	changed mov to clr
	clr	a
	subb	a,r5
;	genIfxJump
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 160.a	removed sjmp by inverse jump logic
;	genAssign
;	genCmpLt
;	genCmp
	jc	00103$
;	Peephole 300	removed redundant label 00170$
;	Peephole 256.a	removed redundant clr c
	mov	a,r2
	subb	a,#0x01
	mov	a,r3
	subb	a,#0x00
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00107$
;	Peephole 300	removed redundant label 00171$
00103$:
	C$main.c$777$4$5 ==.
;	../src/main.c:777: putstr("Invalid input, Try again\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_26
	mov	b,#0x80
	lcall	_putstr
	C$main.c$778$4$5 ==.
;	../src/main.c:778: allocOK = FALSE;
;	genAssign
	mov	dptr,#_main_allocOK_1_1
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
00107$:
	C$main.c$782$2$2 ==.
;	../src/main.c:782: if (allocOK == TRUE) {
;	genAssign
	mov	dptr,#_main_allocOK_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.a	optimized misc jump sequence
	cjne	r2,#0x01,00113$
	cjne	r3,#0x00,00113$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00172$
;	Peephole 300	removed redundant label 00173$
	C$main.c$783$3$6 ==.
;	../src/main.c:783: putstr("Enter size of 1 buffer (20 - 1000 Bytes, Even Number): ");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_27
	mov	b,#0x80
	lcall	_putstr
	C$main.c$784$3$6 ==.
;	../src/main.c:784: rc = getstr(c_sizeBuf);
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#_main_c_sizeBuf_1_1
	mov	b,#0x00
	lcall	_getstr
	C$main.c$785$3$6 ==.
;	../src/main.c:785: sizeBuf = atoi(c_sizeBuf);
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#_main_c_sizeBuf_1_1
	mov	b,#0x00
	lcall	_atoi
	mov	r2,dpl
	mov	r3,dph
;	genAssign
	mov	dptr,#_sizeBuf
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	C$main.c$786$3$6 ==.
;	../src/main.c:786: if (sizeBuf > MAXBUFSIZE || sizeBuf < MINBUFSIZE || sizeBuf%2 == 1) {
;	genAssign
	mov	ar4,r2
	mov	ar5,r3
;	genCmpGt
;	genCmp
	clr	c
	mov	a,#0xE8
	subb	a,r4
	mov	a,#0x03
	subb	a,r5
;	genIfxJump
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 160.a	removed sjmp by inverse jump logic
	jc	00108$
;	Peephole 300	removed redundant label 00174$
;	genAssign
	mov	ar4,r2
	mov	ar5,r3
;	genCmpLt
;	genCmp
	clr	c
	mov	a,r4
	subb	a,#0x14
	mov	a,r5
	subb	a,#0x00
;	genIfxJump
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 160.a	removed sjmp by inverse jump logic
	jc	00108$
;	Peephole 300	removed redundant label 00175$
;	genAnd
	anl	ar2,#0x01
	mov	r3,#0x00
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.a	optimized misc jump sequence
	cjne	r2,#0x01,00113$
	cjne	r3,#0x00,00113$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00176$
;	Peephole 300	removed redundant label 00177$
00108$:
	C$main.c$787$4$7 ==.
;	../src/main.c:787: putstr("Invalid input, Try again\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_26
	mov	b,#0x80
	lcall	_putstr
	C$main.c$788$4$7 ==.
;	../src/main.c:788: allocOK = FALSE;
;	genAssign
	mov	dptr,#_main_allocOK_1_1
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
00113$:
	C$main.c$792$2$2 ==.
;	../src/main.c:792: if (allocOK == TRUE) {			
;	genAssign
	mov	dptr,#_main_allocOK_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genCmpEq
;	gencjneshort
	cjne	r2,#0x01,00178$
	cjne	r3,#0x00,00178$
	sjmp	00179$
00178$:
	ljmp	00124$
00179$:
	C$main.c$793$3$8 ==.
;	../src/main.c:793: for (i=0; i<numBuf; i++) {
;	genAssign
	mov	dptr,#_main_i_1_1
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	r2,#0x00
	mov	r3,#0x00
00117$:
;	genAssign
	mov	dptr,#_numBuf
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
;	genCmpLt
;	genCmp
	clr	c
	mov	a,r2
	subb	a,r4
	mov	a,r3
	subb	a,r5
;	genIfxJump
	jc	00180$
	ljmp	00124$
00180$:
	C$main.c$794$4$9 ==.
;	../src/main.c:794: buffer[i] = malloc(sizeBuf);
;	genLeftShift
;	genLeftShiftLiteral
;	genlshTwo
	mov	ar4,r2
	mov	a,r3
	xch	a,r4
	add	a,acc
	xch	a,r4
	rlc	a
	mov	r5,a
;	genPlus
;	Peephole 236.g	used r4 instead of ar4
	mov	a,r4
	add	a,#_buffer
	mov	r6,a
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
	addc	a,#(_buffer >> 8)
	mov	r7,a
;	genAssign
	mov	dptr,#_sizeBuf
	movx	a,@dptr
	mov	r0,a
	inc	dptr
	movx	a,@dptr
	mov	r1,a
;	genCall
	mov	dpl,r0
	mov	dph,r1
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	push	ar7
	lcall	_malloc
	mov	r0,dpl
	mov	r1,dph
	pop	ar7
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
;	genPointerSet
;     genFarPointerSet
	mov	dpl,r6
	mov	dph,r7
	mov	a,r0
	movx	@dptr,a
	inc	dptr
	mov	a,r1
	movx	@dptr,a
	C$main.c$795$4$9 ==.
;	../src/main.c:795: if (buffer[i] == NULL) {
;	genPlus
;	Peephole 236.g	used r4 instead of ar4
	mov	a,r4
	add	a,#_buffer
	mov	dpl,a
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
	addc	a,#(_buffer >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
;	genCmpEq
;	gencjneshort
	cjne	r4,#0x00,00181$
	cjne	r5,#0x00,00181$
	sjmp	00182$
00181$:
	ljmp	00115$
00182$:
	C$main.c$796$5$10 ==.
;	../src/main.c:796: printf_tiny("Buffer %d allocation failed\n\r", i);
;	genIpush
	push	ar2
	push	ar3
;	genIpush
	mov	a,#__str_28
	push	acc
	mov	a,#(__str_28 >> 8)
	push	acc
;	genCall
	lcall	_printf_tiny
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	C$main.c$797$5$10 ==.
;	../src/main.c:797: for (j=0; j<i; j++) {
;	genAssign
	mov	dptr,#_main_i_1_1
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
;	genAssign
	mov	r6,#0x00
	mov	r7,#0x00
00141$:
;	genCmpLt
;	genCmp
	clr	c
	mov	a,r6
	subb	a,r4
	mov	a,r7
	subb	a,r5
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00144$
;	Peephole 300	removed redundant label 00183$
	C$main.c$798$1$1 ==.
;	../src/main.c:798: free(buffer[j]);
;	genIpush
	push	ar4
	push	ar5
;	genLeftShift
;	genLeftShiftLiteral
;	genlshTwo
	mov	ar0,r6
	mov	a,r7
	xch	a,r0
	add	a,acc
	xch	a,r0
	rlc	a
	mov	r1,a
;	genPlus
;	Peephole 236.g	used r0 instead of ar0
	mov	a,r0
	add	a,#_buffer
	mov	dpl,a
;	Peephole 236.g	used r1 instead of ar1
	mov	a,r1
	addc	a,#(_buffer >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
	mov	r0,a
	inc	dptr
	movx	a,@dptr
	mov	r1,a
;	genCast
	mov	r4,#0x0
;	genCall
	mov	dpl,r0
	mov	dph,r1
	mov	b,r4
	push	ar4
	push	ar5
	push	ar6
	push	ar7
	lcall	_free
	pop	ar7
	pop	ar6
	pop	ar5
	pop	ar4
	C$main.c$799$6$11 ==.
;	../src/main.c:799: printf_tiny("Buffer %d freed\n\r", j);
;	genIpush
	push	ar4
	push	ar5
	push	ar6
	push	ar7
	push	ar6
	push	ar7
;	genIpush
	mov	a,#__str_29
	push	acc
	mov	a,#(__str_29 >> 8)
	push	acc
;	genCall
	lcall	_printf_tiny
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar7
	pop	ar6
	pop	ar5
	pop	ar4
	C$main.c$797$5$10 ==.
;	../src/main.c:797: for (j=0; j<i; j++) {
;	genPlus
;     genPlusIncr
	inc	r6
	cjne	r6,#0x00,00184$
	inc	r7
00184$:
;	genIpop
	pop	ar5
	pop	ar4
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00141$
00144$:
	C$main.c$801$5$10 ==.
;	../src/main.c:801: allocOK = FALSE;
;	genAssign
	mov	dptr,#_main_allocOK_1_1
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
	C$main.c$802$5$10 ==.
;	../src/main.c:802: break;
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00124$
00115$:
	C$main.c$805$5$12 ==.
;	../src/main.c:805: printf_tiny("Buffer %d allocated\n\r", i);
;	genIpush
	push	ar2
	push	ar3
	push	ar2
	push	ar3
;	genIpush
	mov	a,#__str_30
	push	acc
	mov	a,#(__str_30 >> 8)
	push	acc
;	genCall
	lcall	_printf_tiny
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	pop	ar3
	pop	ar2
	C$main.c$793$3$8 ==.
;	../src/main.c:793: for (i=0; i<numBuf; i++) {
;	genPlus
;     genPlusIncr
	inc	r2
	cjne	r2,#0x00,00185$
	inc	r3
00185$:
;	genAssign
	mov	dptr,#_main_i_1_1
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	ljmp	00117$
00124$:
	C$main.c$809$1$1 ==.
;	../src/main.c:809: }while(allocOK != TRUE);
;	genAssign
	mov	dptr,#_main_allocOK_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genCmpEq
;	gencjneshort
	cjne	r2,#0x01,00186$
	cjne	r3,#0x00,00186$
	sjmp	00187$
00186$:
	ljmp	00123$
00187$:
	C$main.c$812$1$1 ==.
;	../src/main.c:812: myDelay(1);
;	genCall
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x0001
	lcall	_myDelay
	C$main.c$813$1$1 ==.
;	../src/main.c:813: clearScr();
;	genCall
	lcall	_clearScr
	C$main.c$814$1$1 ==.
;	../src/main.c:814: printf_tiny("====== Allocation Successful - %d buffers %d bytes each ======", numBuf, sizeBuf); 
;	genIpush
	mov	dptr,#_sizeBuf
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;	genIpush
	mov	dptr,#_numBuf
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;	genIpush
	mov	a,#__str_31
	push	acc
	mov	a,#(__str_31 >> 8)
	push	acc
;	genCall
	lcall	_printf_tiny
	mov	a,sp
	add	a,#0xfa
	mov	sp,a
	C$main.c$815$1$1 ==.
;	../src/main.c:815: bufPtr = buffer[curBuf];						//init bufPtr to point to buffer 0
;	genAssign
	mov	dptr,#_curBuf
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
;	genLeftShift
;	genLeftShiftLiteral
;	genlshTwo
	mov	r3,a
;	Peephole 105	removed redundant mov
	xch	a,r2
	add	a,acc
	xch	a,r2
	rlc	a
	mov	r3,a
;	genPlus
;	Peephole 236.g	used r2 instead of ar2
	mov	a,r2
	add	a,#_buffer
	mov	dpl,a
;	Peephole 236.g	used r3 instead of ar3
	mov	a,r3
	addc	a,#(_buffer >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genAssign
	mov	dptr,#_bufPtr
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	C$main.c$816$1$1 ==.
;	../src/main.c:816: initBufs();										//clear all buffers before starting
;	genCall
	lcall	_initBufs
	C$main.c$818$1$1 ==.
;	../src/main.c:818: printf_tiny("\n\r\n\r\n\rBuffer %d > ", curBuf);
;	genIpush
	mov	dptr,#_curBuf
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;	genIpush
	mov	a,#__str_22
	push	acc
	mov	a,#(__str_22 >> 8)
	push	acc
;	genCall
	lcall	_printf_tiny
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	C$main.c$820$1$1 ==.
;	../src/main.c:820: while(1){
00139$:
	C$main.c$821$2$13 ==.
;	../src/main.c:821: bufPtr = buffer[curBuf];
;	genAssign
	mov	dptr,#_curBuf
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
;	genLeftShift
;	genLeftShiftLiteral
;	genlshTwo
	mov	r3,a
;	Peephole 105	removed redundant mov
	xch	a,r2
	add	a,acc
	xch	a,r2
	rlc	a
	mov	r3,a
;	genPlus
;	Peephole 236.g	used r2 instead of ar2
	mov	a,r2
	add	a,#_buffer
	mov	dpl,a
;	Peephole 236.g	used r3 instead of ar3
	mov	a,r3
	addc	a,#(_buffer >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genAssign
	mov	dptr,#_bufPtr
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	C$main.c$822$2$13 ==.
;	../src/main.c:822: rc = processKey();
;	genCall
	lcall	_processKey
	mov	r2,dpl
	mov	r3,dph
	C$main.c$823$2$13 ==.
;	../src/main.c:823: if(rc == EC_CRIT) break;
;	genCmpEq
;	gencjneshort
	cjne	r2,#0xFF,00188$
	cjne	r3,#0xFF,00188$
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00140$
00188$:
	C$main.c$824$2$13 ==.
;	../src/main.c:824: else if(rc == PK_QFLAG) processQflag();
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.a	optimized misc jump sequence
	cjne	r2,#0x06,00133$
	cjne	r3,#0x00,00133$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00189$
;	Peephole 300	removed redundant label 00190$
;	genCall
	lcall	_processQflag
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00139$
00133$:
	C$main.c$825$2$13 ==.
;	../src/main.c:825: else if(rc == PK_SFLAG) processSflag();
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.a	optimized misc jump sequence
	cjne	r2,#0x07,00130$
	cjne	r3,#0x00,00130$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00191$
;	Peephole 300	removed redundant label 00192$
;	genCall
	lcall	_processSflag
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00139$
00130$:
	C$main.c$826$2$13 ==.
;	../src/main.c:826: else if(rc == PK_EINPRINT) printf_tiny("\n\rUnprintable Character\n\rBuffer %d > ", curBuf);
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.a	optimized misc jump sequence
	cjne	r2,#0x05,00139$
	cjne	r3,#0x00,00139$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00193$
;	Peephole 300	removed redundant label 00194$
;	genIpush
	mov	dptr,#_curBuf
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;	genIpush
	mov	a,#__str_32
	push	acc
	mov	a,#(__str_32 >> 8)
	push	acc
;	genCall
	lcall	_printf_tiny
	mov	a,sp
	add	a,#0xfc
	mov	sp,a
	C$main.c$827$1$1 ==.
;	../src/main.c:827: else if(rc == PK_EINSTOR); //printf("\n\rBuffer %d is full\n\rBuffer %d > ", curBuf, curBuf); //silent discard
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00139$
00140$:
	C$main.c$830$1$1 ==.
;	../src/main.c:830: putstr("\n\r\n\rCritical Error!!!\n\r");		//should never have reached here
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_33
	mov	b,#0x80
	C$main.c$831$1$1 ==.
	XG$main$0$0 ==.
;	Peephole 253.b	replaced lcall/ret with ljmp
	ljmp	_putstr
;
	.area CSEG    (CODE)
	.area CONST   (CODE)
Fmain$_str_0$0$0 == .
__str_0:
	.db 0x1B
	.ascii "c"
	.db 0x00
Fmain$_str_1$0$0 == .
__str_1:
	.db 0x1B
	.ascii "[2J"
	.db 0x00
Fmain$_str_2$0$0 == .
__str_2:
	.db 0x0A
	.db 0x0D
	.ascii "Cleaning Buffer %d..."
	.db 0x00
Fmain$_str_3$0$0 == .
__str_3:
	.ascii "Done"
	.db 0x0D
	.db 0x0A
	.db 0x00
Fmain$_str_4$0$0 == .
__str_4:
	.ascii "Displaying Buffer %d"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_5$0$0 == .
__str_5:
	.db 0x0A
	.db 0x0D
	.ascii " Address |  +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +"
	.ascii "F"
	.db 0x00
Fmain$_str_6$0$0 == .
__str_6:
	.db 0x0A
	.db 0x0D
	.ascii "----------------------------------------------------------"
	.ascii "----"
	.db 0x00
Fmain$_str_7$0$0 == .
__str_7:
	.db 0x0A
	.db 0x0D
	.ascii " 0x%04X  |  "
	.db 0x00
Fmain$_str_8$0$0 == .
__str_8:
	.ascii "%02X "
	.db 0x00
Fmain$_str_9$0$0 == .
__str_9:
	.ascii "%c"
	.db 0x00
Fmain$_str_10$0$0 == .
__str_10:
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_11$0$0 == .
__str_11:
	.db 0x0A
	.db 0x0D
	.ascii "BUFFER %d: INFORMATION"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_12$0$0 == .
__str_12:
	.db 0x09
	.ascii "Start Address: 0x%04X"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_13$0$0 == .
__str_13:
	.db 0x09
	.ascii "Allocated Memory: %d bytes"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_14$0$0 == .
__str_14:
	.db 0x09
	.ascii "Printable characters: %d"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_15$0$0 == .
__str_15:
	.db 0x0A
	.db 0x0D
	.db 0x0A
	.db 0x0D
	.ascii "******* BUFFER %d: STATISTICS *******"
	.db 0x0A
	.db 0x0D
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_16$0$0 == .
__str_16:
	.ascii "VOWELS:"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_17$0$0 == .
__str_17:
	.db 0x09
	.ascii "A"
	.db 0x09
	.ascii "E"
	.db 0x09
	.ascii "I"
	.db 0x09
	.ascii "O"
	.db 0x09
	.ascii "U"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_18$0$0 == .
__str_18:
	.db 0x09
	.ascii "%d "
	.db 0x00
Fmain$_str_19$0$0 == .
__str_19:
	.ascii "NUMBERS:"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_20$0$0 == .
__str_20:
	.db 0x09
	.ascii "0"
	.db 0x09
	.ascii "1"
	.db 0x09
	.ascii "2"
	.db 0x09
	.ascii "3"
	.db 0x09
	.ascii "4"
	.db 0x09
	.ascii "5"
	.db 0x09
	.ascii "6"
	.db 0x09
	.ascii "7"
	.db 0x09
	.ascii "8"
	.db 0x09
	.ascii "9"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_21$0$0 == .
__str_21:
	.db 0x09
	.ascii "%d"
	.db 0x00
Fmain$_str_22$0$0 == .
__str_22:
	.db 0x0A
	.db 0x0D
	.db 0x0A
	.db 0x0D
	.db 0x0A
	.db 0x0D
	.ascii "Buffer %d > "
	.db 0x00
Fmain$_str_23$0$0 == .
__str_23:
	.ascii "Current Buffer %d "
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_24$0$0 == .
__str_24:
	.ascii "Welcome!"
	.db 0x0A
	.db 0x0D
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_25$0$0 == .
__str_25:
	.ascii "Enter number of buffers to allocate (1-5): "
	.db 0x00
Fmain$_str_26$0$0 == .
__str_26:
	.ascii "Invalid input, Try again"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_27$0$0 == .
__str_27:
	.ascii "Enter size of 1 buffer (20 - 1000 Bytes, Even Number): "
	.db 0x00
Fmain$_str_28$0$0 == .
__str_28:
	.ascii "Buffer %d allocation failed"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_29$0$0 == .
__str_29:
	.ascii "Buffer %d freed"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_30$0$0 == .
__str_30:
	.ascii "Buffer %d allocated"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_31$0$0 == .
__str_31:
	.ascii "====== Allocation Successful - %d buffers %d bytes each ===="
	.ascii "=="
	.db 0x00
Fmain$_str_32$0$0 == .
__str_32:
	.db 0x0A
	.db 0x0D
	.ascii "Unprintable Character"
	.db 0x0A
	.db 0x0D
	.ascii "Buffer %d > "
	.db 0x00
Fmain$_str_33$0$0 == .
__str_33:
	.db 0x0A
	.db 0x0D
	.db 0x0A
	.db 0x0D
	.ascii "Critical Error!!!"
	.db 0x0A
	.db 0x0D
	.db 0x00
	.area XINIT   (CODE)
Fmain$__xinit_numBuf$0$0 == .
__xinit__numBuf:
	.byte #0x00,#0x00
Fmain$__xinit_sizeBuf$0$0 == .
__xinit__sizeBuf:
	.byte #0x00,#0x00
Fmain$__xinit_curBuf$0$0 == .
__xinit__curBuf:
	.byte #0x00,#0x00
Fmain$__xinit_chCount$0$0 == .
__xinit__chCount:
	.byte #0x00,#0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
Fmain$__xinit_stats$0$0 == .
__xinit__stats:
	.byte #0x00,#0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
Fmain$__xinit_buffer$0$0 == .
__xinit__buffer:
	.byte #0x00,#0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
	.db 0x00
Fmain$__xinit_bufPtr$0$0 == .
__xinit__bufPtr:
	.byte #0x00,#0x00
